为什么&符在XML中是无效字符?

时间:2018-10-26 12:19:06

标签: c# xml

我正在使用Escape C#类中的方法SecurityElement,以确保以后收到的某些文本可以安全地集成到XML文档中。

我只是noticed认为&字符无效。

问题

我了解其他字符如何弄乱XML文档并使其无法解析,但我不明白为什么&会这么做。

2 个答案:

答案 0 :(得分:4)

因为&用于表示XML实体。它用作其他无效字符的“转义”字符(例如&lt;的意思是<),因此它本身不能成为XML中的有效字符。您如何分辨&是“&”号还是&gt;的开头?

为了用XML表示“&”号,您需要使用&amp;


这类似于使用C(和类似语言)的方式,其中\用于转义\n(换行符),\t(制表符)等,并且必须本身以\\的形式转义。

答案 1 :(得分:0)

从引用的文档中可以看出,与号被用作其他代码(例如> is &gt;等)的转义代码的一部分,因此,如果它自己有效,则会感到困惑。

相关问题