zoukankan      html  css  js  c++  java
  • 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来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。

  • 相关阅读:
    Objective-c Category(类别)
    协议(porotocol)
    类的通用格式
    objective-c 强大的布尔类型
    C 语言函数指针
    c while 循环
    jQuery的deferred对象详解
    exploring the http Object
    div+css定位position详解
    如何给变量取个简短且无歧义的名字
  • 原文地址:https://www.cnblogs.com/lwenwen/p/3262607.html
Copyright © 2011-2022 走看看