'&'在使用XmlTextWriter创建xml文件时,文本会被转义并转换为&
但我不希望转换发生如何预防呢?
除了使用xmltextwriter的WriteRaw函数之外还有其他方法吗?
答案 0 :(得分:9)
如果您将未转义的&符号放在XML中,则它不再是有效的XML。
你的两个选择要么逃避它(你的图书馆正在做):
<tag>One & another</tag>
或者将其包装在CDATA中:
<tag><![CDATA[One & another]]></tag>
可以通过以下方式完成:
xmlWriter.WriteCData("One & another");
答案 1 :(得分:0)
为什么不希望这种情况发生?在我看来,库正在按照XML的要求强制执行正确的字符转义。
答案 2 :(得分:0)
我不确定它是否可行,但您可能需要检查通过xmltextwriter.Settings提供的XmlWriterSettings属性,尤其是CheckCharacters属性。
另一方面,正如Brian Agnew所提到的,不是编码&amp;到&amp;可能是错误的方法,因为它会使您的XML无效(除非您已将其编码为&amp;在这种情况下,您可能只想在将其提供给xmltextwriter类之前对其进行解码。