首页 文章

在XML中转义双引号字符

提问于
浏览
83

在xml中有双引号的转义字符吗?我想写一个标签,如:

<parameter name="Quote = " ">

但如果我把“,那就意味着字符串已经结束 . 我需要这样的东西(c):

printf("Quote = \" ");

在双引号之前是否有要写的字符才能逃脱呢?

8 回答

  • 3

    试试这个:

    &quot;
    
  • 7

    以下是需要在XML中转义的常见字符,以双引号开头:

    • 双引号( " )被转义为 &quot;

    • &符号( & )被转义为 &amp;

    • 单引号( ' )被转义为 &apos;

    • 小于( < )被转义为 &lt;

    • 大于( > )被转义为 &gt;

  • 2

    在这种情况下,其他人已经就如何处理特定的逃逸做出了回答 .

    更广泛的答案不是试图自己做 . 使用XML API - 现有几乎所有现代编程平台都有很多可用的API .

    XML API将自动为您处理这样的事情,使得出错更加困难 . 除非您自己编写XML API,否则您很少需要担心这样的细节 .

  • 27

    不存在这样的转义字符,而是可以使用 &quot; 甚至 <![CDATA["]]> 来表示 " 字符 .

  • 6

    一个旧的,经常被问到的问题的新的,改进的答案......

    何时以XML格式转义双引号

    Double quote (") may appear without escaping:

    • 在XML文本内容中:
    <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
    
    • 在由单引号( ' )分隔的XML属性中:
    <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
    

    Note: 切换到单引号( ' )也不需要转义:

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

    Double quote (") must be escaped:

    • 在由双引号分隔的XML属性中:
    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>
    

    底线

    双引号( " )必须仅在非常有限的上下文中以XML格式转义为 &quot; .

  • 140

    如果你只是需要快速尝试一下,这是一个快速而肮脏的解决方案 . 使用single quotes for the attribute value

    <parameter name='Quote = " '>
    
  • 106

    在C中,您可以使用EscapeXML ATL API . 这是处理特殊字符的正确方法......

  • 1

    您可以尝试使用反斜杠后跟“u”,然后使用字符的unicode值,例如双引号的unicode值是

    “ - > U 0022

    因此,如果您在android中将其设置为XML中的文本的一部分,它将看起来像这样,

    <TextView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:text=" \u0022 Showing double quotes \u0022 "/>
    

    这将在TextView中生成大致类似的文本

    “显示双引号”

    您可以在www.unicode-table.com/en找到大多数符号和字符的unicode

相关问题