在XML文件中,<
、>
、&
、"
和 '
等特殊字符需要被转义,因为它们在XML中有特定的含义(例如,<
用于定义元素的开始,&
用于实体引用等)。如果你直接在XML文本内容中使用这些字符,解析器会抛出错误。
关于特殊符号有两种解决方案:
-
- CDATA
DATA 指的是不应由 XML 解析器进行解析的文本数据,在 XML 元素中,"<" 和 "&" 是非法的。"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
- CDATA
- CDATA 部分中的所有内容都会被解析器忽略。
- CDATA 部分由 "" 结束。
<property><![CDATA["&&&&&&<<<<<<<"]]></property>
这样就会被解析器忽略&&&&&&<<<<<<<
,不会发生报错
- 特殊字符转义
以下是这些特殊字符的转义序列:
<
替换为<
>
替换为>
&
替换为&
"
替换为"
'
在属性值中可以直接使用,但在属性之外使用时建议也转义为'
或'
(尽管不是所有XML解析器都支持'
)