[转]XML中必须进行转义的字符

时间:2023-02-14 04:37:45

转自:http://jaenson.iteye.com/blog/945469

编写XML代码经常遗漏的常识:

XML实体中不允许出现"&","<",">"等特殊字符,否则XML语法检查时将出错,如果编写的XML文件必须包含这些字符,则必须分别写成"&amp;","&lt;","&gt;"再写入文件中。例如,如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:

  1. <age> age < 30 </age>

为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样:

  1. <age> age &lt; 30 </age>

在读取的时候,解析器会自动将其转换回"&","<",">"等特殊字符,正常来说,只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。
需要注意的是:
a. 转义序列各字符间不能有空格;
b. 转义序列必须以";"结束;
c. 单独的&不被认为是转义开始;
d. 区分大小写。

以下是XML中需要的转义字符:

&(逻辑与)  &amp;       
<(小于)    &lt;       
>(大于)    &gt;       
"(双引号)  &quot;     
'(单引号)  &apos;