XML文档和&炭?

时间:2009-08-07 21:21:47

标签: xml delphi parsing special-characters delphi-7

我有一个关于XML文档特殊字符的问题,我正在使用&在XML和TXMLDoc中的项的值中,Delphi解析器正在抱怨它。

我搜索了一些XML解析选项,但没有一个涉及特殊字符,

任何想法?

示例:

    <Configuration>
      <Configuration_item>  
        <view_name value="some view & name"/>

....

此致 米卡

3 个答案:

答案 0 :(得分:8)

使用&amp;来表示&符号。你需要这样做的原因是因为&amp;是XML中的一个特殊字符 - 特别是用于指示XML实体的开头的字符,用于指定内容中的字符(具有讽刺意味)是特殊/复杂字符。

<view_name value="some view &amp; name"/>

其他常见的XML实体:

  • “是&quot;
  • &LT;是&lt;(简称为少于)
  •   

    &gt;(大于的缩写)

欲了解更多信息:

http://www.xml.com/pub/a/2001/01/31/qanda.html

答案 1 :(得分:4)

&<>是您需要注意的特殊字符,并且在属性"中也是如此。 &有点像XML转义字符。

他们可以逃脱:

  • & =&gt; &amp;
  • < =&gt; &lt;
  • > =&gt; &gt;
  • " =&gt; &quot;

(实际上,奇怪的是,您实际上不需要在属性中转义>,只需<。此外,如果您使用'而不是"对于属性分隔符,您需要将"转义为&quot;,而不必将'转义为&apos;。请参阅XML规范中的AttValue引用的信息。)

答案 2 :(得分:2)

戴维和拉维尼奥是对的。

如果您有一个包含大量特殊字符的文本块,则可能需要将其括在CDATA中。