xml文档的编写时特殊字符的处理解决方案

xml文档的编写时特殊字符的处理
XML文档的格式要求比较严格,当有特殊字符时需要转义处理如使用
XML code
 <description>
- <![CDATA[ 
<h3>表达式输出(编码)</h3>
        <ul>
            <li>出现在XML文档的文本节点中,输出表达式值,并编码其xml特殊字符。</li>
            <li>这个输出是自动编码的,若需要原始文本输出,需要使用:<c:out value="${html}"/>标签。 </li>
            <li>模版表达式求值,是一个基于模板上下文数据的读值和简单只读运算的过程。 </li>
            <li>在JavaScript?中。其功能类似于function(el){with(context){return eval(el)})</li>
        </ul>

  ]]> 
  </description>

但是当一个节点有个属性,而这个属性的值中又包含特殊字符该怎么办呢,比如一个节点如下
XML code
<page url="http://aa.com/aa.jsp?xx=value&yy=value"></page>

这时解析器就会说这个不规范,那上面这个url的值应该如何编码才通得过呢?

------解决方案--------------------
如果是url 则通过urlencode 来实现.

把特殊字符转码后使用.
------解决方案--------------------
进行XmlEncode编码,比如写成
<page url="http://aa.com/aa.jsp?xx=value&amp;yy=value"></page>


------解决方案--------------------
在CDATA段中,只有当出现<![CDATA[这个字符的时候才需要转义成&lt;![CDATA[,其他都可以正常处理的,所以&号在CDATA段中可以正常通过的,否则用CDATA段还有什么意义