Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML中的转义双引号字符_Xml_Escaping - Fatal编程技术网

XML中的转义双引号字符

XML中的转义双引号字符,xml,escaping,Xml,Escaping,xml中双引号是否有转义字符?我想写一个标签,比如: <parameter name="Quote = " "> 双引号前是否有字符要写以转义?尝试以下操作: &quot; 不,没有转义字符,相反,您可以使用“甚至字符。其他人已经回答了如何处理这种情况下的特定转义 一个更广泛的答案是不要尝试自己去做。使用一个XMLAPI——现有的几乎所有现代编程平台都有很多可用的 XML API将自动处理这样的事情,使它更难出错。除非你自己编写一个XML API,否则你很少需要担心这样

xml中双引号是否有转义字符?我想写一个标签,比如:

<parameter name="Quote = " ">
双引号前是否有字符要写以转义?

尝试以下操作:

&quot;

不,没有转义字符,相反,您可以使用
甚至
字符。

其他人已经回答了如何处理这种情况下的特定转义

一个更广泛的答案是不要尝试自己去做。使用一个XMLAPI——现有的几乎所有现代编程平台都有很多可用的


XML API将自动处理这样的事情,使它更难出错。除非你自己编写一个XML API,否则你很少需要担心这样的细节。

< P> C++中你可以使用HeaveXML ATL API。这是处理特殊字符的正确方法……< /P> < P>如果你只需要尝试一下。不幸的是,这里有一个快速而肮脏的解决方案。使用:


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

<EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>
  • 双引号(
    )转义到
  • 符号(
    &
    )转义到
    &;
  • 单引号(
    )转义到
    &apos;
  • 小于(
    )转义为

  • 您可以尝试使用反斜杠后跟“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

    对一个旧的常见问题的新的、改进的答案

    何时在XML中转义双引号 双引号(
    )可能会在不转义的情况下出现:

    • 在XML文本内容中:

      <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
      
      注意:切换到单引号(
      )也不需要转义:

      <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
      
    底线
    双引号(
    )必须转义为
    仅在非常有限的上下文中使用XML

    我不能说我同意。认为我们应该如此依赖API将我们抽象到甚至不需要理解如何读写XML的地步,这似乎是愚蠢的。当您向XML API提供一个格式错误的文档并导致它崩溃时,它可能不会对您有多大帮助。“必须有人修复数据才能将其加载。@ChristopherPaint鉴于XML标准的规模,我怀疑是否有很多人真正理解它。现在有很多人认为他们有,但他们真的没有。好吧,你必须从某个地方开始。当然,在我们的行业中,我们只是抱怨XML糟糕透顶,然后用JSON之类的东西重新开始。然后该过程重复。请参见:可能重复的简短回答:
    您可以发现此处大多数符号和字符的unicode不正确&载脂蛋白;不是有效的XML字符。这是一个有效的HTML字符,即SGML和XML的超集。虽然这是一个有效点,但我使用过的大多数现代XML解析器都将其作为有效字符接受。当字符串被双引号包围时,Android无法正确解释。在这种情况下,E-max答案是唯一有效的。@StefanSteiger它在@Dariusz G.Jagielski上。虽然我对现代XML解析器没有异议,但如果你在数据库(例如ms/pg)中使用XML,你会发现并非所有软件都在使用现代XML解析器。特别是当它是复杂的几十年前的软件时。也就是说,如果每个人都使用现代xml解析器,这将是一件好事。然而,如果该代码深入集成到较旧的复杂软件中,则很难替换它(同时保留100%的向后兼容性)。也就是说,C语言的缺点就是不使用依赖注入。
    <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
    
    <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
    
    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>