在逃生XML双引号字符在逃生XML双引号字符(Escape double quote charact

2019-05-11 20:26发布

是否有一个XML格式的双引号的转义字符? 我想写类似这样的标记:

<parameter name="Quote = " ">

但如果我把”,那么这意味着字符串已经结束,我需要这样的(C ++):

printf("Quote = \" ");

有没有写双引号之前逃脱它一个人物?

Answer 1:

试试这个:

&quot;


Answer 2:

以下是这需要在XML中进行转义,开始用双引号的共同特征:

  1. 双引号( " )被转义到&quot;
  2. 符号( & )被逃到&amp;
  3. 单引号( ' )的逃到&apos;
  4. 小于( < )的逃到&lt;
  5. 大于( > )被逃到&gt;


Answer 3:

其他人在如何处理具体在这种情况下逃脱方面回答。

一个更广泛的答案是,不要试图自己做。 使用XML API - 有大量可供存在几乎每个现代编程平台。

XML的API将自动处理这样的事情对你来说,使其成为了很多困难出问题。 除非你写一个XML API自己,你应该很少需要担心这样的细节。



Answer 4:

No there isn't an escape character as such, instead you can use &quot; or even <![CDATA["]]> to represent the " character.



Answer 5:

新的,改进的答案的时候,经常问的问题...

当逃跑中的XML双引号

双引号( " )可能会出现没有逃脱

  • 在XML文本内容:

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

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

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

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

双引号( "必须进行转义

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

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

底线

双引号( " )必须转义为&quot;只有在非常有限的环境中的XML。



Answer 6:

如果你只需要快速尝试一些东西,这里有一个快速和肮脏的解决方案。 使用该属性值单引号 :

<parameter name='Quote = " '>


Answer 7:

在C ++中,你可以使用ATL将escapeXml API。 这是处理特殊字符正确的方法...



Answer 8:

您可以尝试使用一个反斜杠后跟一个“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的文本大致是这样的

“显示双引号”

你可以发现,大部分的符号和字符的Unicode这里www.unicode-table.com/en



文章来源: Escape double quote character in XML
标签: xml escaping