XML转义字符 如"&"

时间:2023-03-10 06:04:38
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来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。