在 xml 中,是否有双引号的转义字符?我想编写这样的标记:
<parameter name="Quote = " ">
但是如果我输入 ",那么这意味着字符串已经结束了。我需要像这样的东西(使用C ++):
printf("Quote = \" ");
在双引号前面有没有特殊的字符可以用来转义它?
在 xml 中,是否有双引号的转义字符?我想编写这样的标记:
<parameter name="Quote = " ">
但是如果我输入 ",那么这意味着字符串已经结束了。我需要像这样的东西(使用C ++):
printf("Quote = \" ");
在双引号前面有没有特殊的字符可以用来转义它?
试试这个:
"
以下是XML中需要转义的常见字符,从双引号开始:
"
) 转义为 "
&
) 转义为 &
'
) 转义为 '
<
) 转义为 <
>
) 转义为 >
其他回答已经解释了如何处理这种情况下的特定转义。
一个更广泛的答案是不要自行处理。使用 XML API - 现代编程平台几乎都有相应的 API。
XML API 会自动处理此类问题,使得出现错误的可能性大大降低。除非你是在编写自己的 XML API,否则很少需要关心这样的细节。
针对一些经常被提问的问题,这里有一个新的、改进过的答案...
双引号("
)可以不用转义:
In XML textual content:
<NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
In XML attributes delimited by single quotes ('
):
<NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
Note: switching to single quotes ('
) also requires no escaping:
<NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
双引号 ("
) 必须被转义:
In XML attributes delimited by double quotes:
<EscapeNeeded name="Pete "Maverick" Mitchell"/>
在XML中,双引号("
)仅在非常有限的情况下必须转义为"
。
如果您只是需要快速尝试一些东西,这里有一个快速而简单的解决方案。使用单引号作为属性值:
<parameter name='Quote = " '>
没有像样的转义字符,但可以使用"
甚至<![CDATA["]]>
来表示"
字符。
<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。