使用实体引用转义特殊字符,如

在处理XML文档时,特殊字符(如 <、>、&、"、' 等)不能直接出现在文本节点中,否则会导致解析错误。为了确保XML文档结构正确,必须对这些字符进行转义或使用特定方法处理。
1. 使用实体引用转义特殊字符
XML预定义了五个实体引用,用于表示常见的特殊字符:
- 表示 <
- > 表示 >
- & 表示 &
- " 表示 "
- ' 表示 '
例如,若文本包含“5 < 10”,应写为:
<text>52. 使用CDATA区段包裹含特殊字符的文本
对于包含大量特殊字符或脚本内容的节点,推荐使用CDATA(Character Data)区段。CDATA中的内容不会被解析器解析,原样保留。
语法格式为:<![CDATA[ ... ]]>
示例:
<script><![CDATA[if (a < b && c > d) { alert("Hello"); }]]></script>这样就不需要逐个转义每个特殊字符。
3. 解析时正确读取转义字符和CDATA内容
在程序中解析XML时(如使用Java的DOM、SAX或Python的xml.etree.ElementTree),解析器会自动将实体引用转换为对应字符,并保留CDATA中的原始内容。
需要注意:
- 从文本节点获取数据时,得到的是已解码的字符串(如
- CDATA块中的内容会被当作普通文本返回,不包含<









