(转)XML中必须进行转义的字符

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

场景:在工作中接触到很多xml文件,为了更好的操作这些文件,所有很有必要熟知xml文件的相关语义。

1 引入

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

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

<age> age < 30 </age> 

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

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

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

以下是XML中需要的转义字符:[/size] 
&(逻辑与)  &amp;        
<(小于)    &lt;        
>(大于)    &gt;        
"(双引号)  &quot;      
'(单引号)  &apos; 

/