Structure <! - some text - >是XML中的注释,但是我想把这个文本放在另一个标签中,我不希望它被当作注释,就像文本一样(我需要它在视觉工作室的评论中),像这样:如何强制XML将特殊字符视为纯文本?
<summary>
(...) that contains
sections marked with <!--[section_name]--> at the beginning.
</summary>
我该怎么做?
Structure <! - some text - >是XML中的注释,但是我想把这个文本放在另一个标签中,我不希望它被当作注释,就像文本一样(我需要它在视觉工作室的评论中),像这样:如何强制XML将特殊字符视为纯文本?
<summary>
(...) that contains
sections marked with <!--[section_name]--> at the beginning.
</summary>
我该怎么做?
使用CDATA或转义字符使用& gt;或& lt;分别为<和>。
将元素的内容包装在CDATA部分中。这告诉解析器将内容视为文字。
看看CDATA长期:http://en.wikipedia.org/wiki/CDATA
<summary>
<![CDATA[
(...) that contains
sections marked with <\!--[section_name]--> at the beginning.
]]>
</summary>
你应该换一个CDATA标签内的文本:
<summary>
<![CDATA[ (...) that contains
sections marked with <!--[section_name]--> at the beginning.]]>
</summary>
使用这样的代码:
<xml>
<![CDATA[
<!-- comment treated as plain text -->
]]>
</xml>
无论是逃避字符...
<summary>Blah blah <!-- not a comment --> blah.</summary>
...或包裹他们PCDATA段内:
<summary><![CDATA[Blah blah <!-- blah -->]]></summary>
接受的答案是使用CDATA,但我强烈建议逃逸。如果您使用CDATA,则必须验证您的内容是否包含“]]>”,并以某种方式将其转义(在很多情况下不太可能),但如果您的程序存在将XML插入其他XML中,风险会增加)。
此外,使用串行生成你的XML,因为有很多挑剔的规则,几乎每个人都错了(我已经12年编写XML,不相信自己,让他们没事)。最简单的方法是构建一个DOM,然后将其转换为文本。
visual studio不关心xml注释中的CDATA部分(只是将它当作另一个标签),但<和>工作。谢谢 – agnieszka 2009-06-04 12:01:58