如何强制XML将特殊字符视为纯文本?

时间:2009-06-04 11:53:48

标签: xml

结构<! - 一些文字 - >是一个XML注释,但我想把这个文本放在另一个标签中,我不希望它被视为注释,就像文本(我需要在visual studio的类的注释中),像这样:

<summary>
   (...) that contains
   sections marked with <!--[section_name]--> at the beginning.
</summary>

我该怎么做?

7 个答案:

答案 0 :(得分:3)

使用CDATA或使用&amp; gt;转义字符或&amp; lt; for&lt;和&gt;分别。

答案 1 :(得分:3)

使用这样的代码:

<xml>
  <![CDATA[

    <!-- comment treated as plain text -->

  ]]>
</xml>

答案 2 :(得分:2)

看看CDATA术语:http://en.wikipedia.org/wiki/CDATA

<summary>
    <![CDATA[
    (...) that contains
    sections marked with <\!--[section_name]--> at the beginning.
    ]]>
</summary>

答案 3 :(得分:0)

将元素的内容包装在CDATA部分中。这告诉解析器将内容视为文字。

答案 4 :(得分:0)

您应该将文本包装在CDATA标记内:

<summary>
<![CDATA[   (...) that contains
   sections marked with <!--[section_name]--> at the beginning.]]>
</summary>

答案 5 :(得分:0)

要么逃避角色......

<summary>Blah blah &lt;!-- not a comment --&gt; blah.</summary>

...或将它们包装在PCDATA部分中:

<summary><![CDATA[Blah blah <!-- blah -->]]></summary>

答案 6 :(得分:0)

接受的答案是使用CDATA,但我强烈建议转义。如果您使用CDATA,则必须验证您的内容不包含“]]&gt;”,并且如果有的话以某种方式将其转义(在许多情况下不太可能,但如果您的程序存在以在其他XML中插入XML,则风险会降低向上)。

此外,使用序列化程序来生成XML,因为有很多挑剔的规则几乎每个人都出错了(我已经写了12年的XML并且不相信自己让他们好吧)。最简单的方法是构建DOM,然后将其转换为文本。