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

Posted CS408

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(转)XML中必须进行转义的字符相关的知识,希望对你有一定的参考价值。

场景:在工作中接触到很多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; 

 

 

/

以上是关于(转)XML中必须进行转义的字符的主要内容,如果未能解决你的问题,请参考以下文章

[转]xml文件中的转义字符

如何转义xml中的特殊字符

为啥html,xml的特殊符号转义不用斜杠,而要用& quot ;这样的奇怪形式?

XML 解析 & 特殊字符报错

在 Rails 上为连接、限制、选择等(不是条件)的 SQL 片段安全地转义字符串

C#中怎么把&符号写入XML,不是转义&这种形式的,只插入一个&符号?