XML转义字符 如"&"

解析数据 XML 解析器通常情况下会处理XML文档中的所有文本。 当XML元素被解析的时候,XML元素内部的文本也会被解析,例如:

 

<message>Hello Word!</message>

XML解析器这样做的原因是XML元素内部可能还包含了别的元素。

再例如下面的例子,name元素内部包含了first和last两个元素:

 

<name>
    <first>zhang</first>
    <last>san</last>
</name>        

 解析器会认为上面的代码是这样的: 

<name>
    <first>zhang</first>
    <last>san</last>
</name>        

 

但是例如"&"、"<"这样不合法的XML字符必须被替换为相应的实体。 

如果在XML文档中使用类似"&" 的字符那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面这样书写代码: 

<!--谷歌地图URL地址-->
<add key="GoogleMapURL" value='http://mt{0}.google.com/vt/lyrs=m@107&hl=zh-CN&x={1}&y={2}&z={3}&s=Ga'></add>

这种情况,必须将字符"&" 转换成实体,例如:

<!--谷歌地图URL地址-->
<add key="GoogleMapURL" value='http://mt{0}.google.com/vt/lyrs=m@107&amp;hl=zh-CN&amp;x={1}&amp;y={2}&amp;z={3}&amp;s=Ga'></add>

下面是五个在XML文档中预定义好的实体: 

     和        &      &amp;       
    单引号     '      &apos;       
    双引号     "      &quot;       
    大于号     >      &gt;       
    小于号     <      &lt;       

  实体必须以符号"&"开头,以符号";"结尾。 

  注意只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。

posted @ 2013-08-16 17:22  陌上归人  阅读(1885)  评论(0编辑  收藏  举报