xml中的双引号是否有转义字符?我想写一个标签,如:
<parameter name="Quote = " ">
但如果我把“,那就意味着字符串已经结束。我需要这样的东西(c ++):
printf("Quote = \" ");
在双引号之前是否要写一个字符来逃避它?
答案 0 :(得分:146)
试试这个:
"
答案 1 :(得分:108)
以下是需要在XML中转义的常见字符,以双引号开头:
"
)已转义为"
&
)已转义为&
'
)已转义为'
<
)已转义为<
>
)已转义为>
答案 2 :(得分:27)
在这种情况下,其他人已就如何处理特定的逃避问题做出了回答。
更广泛的答案不是试图自己做。使用XML API - 现有几乎所有现代编程平台都有很多可用的。
XML API会自动为您处理这样的事情,使 lot 更难出错。除非您自己编写XML API,否则您应该很少担心这样的细节。
答案 3 :(得分:7)
不存在转义字符,而是可以使用"
甚至<![CDATA["]]>
来表示"
字符。
答案 4 :(得分:7)
一个旧的,经常被问到的问题的新答案......
双引号("
)可能会显示而不会转义:
在XML文本内容中:
<NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
在由单引号('
)分隔的XML属性中:
<NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
注意:切换为单引号('
)也不需要转义:
<NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
双重引用("
)必须转义:
在由双引号分隔的XML属性中:
<EscapeNeeded name="Pete "Maverick" Mitchell"/>
双引号("
)必须仅在非常有限的上下文中以XML格式"
进行转义。
答案 5 :(得分:4)
如果您只是需要快速尝试一下,这是一个快速而肮脏的解决方案。使用single quotes for the attribute value:
<parameter name='Quote = " '>
答案 6 :(得分:2)
在C ++中,您可以使用EscapeXML ATL API。这是处理特殊字符的正确方法......
答案 7 :(得分:1)
您可以尝试使用反斜杠后跟&#34; u&#34;然后是字符的unicode值,例如双引号的unicode值是
&#34; - &GT; U + 0022
因此,如果您在android中将其设置为XML中的文本的一部分,它将看起来像这样,
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text=" \u0022 Showing double quotes \u0022 "/>
这会在TextView中生成大致类似于
的文本&#34;显示双引号&#34;
您可以在www.unicode-table.com/en
找到大多数符号和字符的unicode