代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

如何在XML属性值中转义双引号?

xml
  •  119
  • Jader Dias  · 技术社区  · 14 年前

    从以下试验中

    <tag attr="\"">
    <tag attr="<![CDATA["]]>">
    <tag attr='"'>
    

    只有最后一个适用于我在这里使用的XML解析器。 还有别的选择吗?

    4 回复  |  直到 14 年前
        1
  •  213
  •   Sachin Shanbhag    14 年前

    你可以用 &quot;

        2
  •  54
  •   Wim Coenen    14 年前

    XML spec

    允许属性值包含 单引号和双引号 撇号或单引号字符 (')可以表示为“'”, 双引号字符(“)为 “"”。

        3
  •  15
  •   kjhughes    7 年前

    " ) 可以 作为 &quot; ,但接下来的故事。。。

    双引号字符 必须

    • 在用双引号分隔的XML属性中:

      <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>
      

    不必

    • 在XML文本内容中:

      <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
      
    • 在由单引号分隔的XML属性中( ' ):

      <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
      

      同样地( ' )如果( "

      <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
      

    另见

        4
  •  8
  •   Kenny Evitt    12 年前

    这个 String conversion Coder's Toolbox 该站点可以方便地对少量HTML或XML代码进行编码,以便将其作为值包含在XML元素中。