如何防止&转换为& 使用XmlTextWriter?

文本中的“&”被转义并转换为& 使用XmlTextWriter创建xml文件时,我不希望转换发生如何防止它?

除了使用xmltextwriter的WriteRaw函数之外还有其他方法吗?

如果您在XML中放置未转义的&符号,则它不再是有效的XML。

你的两个选择要么逃避它(你的库正在做):

 One & another 

或者将其包装在CDATA中:

  

这可以通过以下方式完成:

 xmlWriter.WriteCData("One & another"); 

你为什么不希望这种情况发生? 在我看来,库正在按照XML的要求强制执行正确的字符转义。

我不确定它是否可行,但您可能需要检查通过xmltextwriter.Settings可用的XmlWriterSettings属性,尤其是CheckCharacters属性。

另一方面,正如Brian Agnew所提到的那样,没有编码&to和错误的方法,因为它会使你的XML无效(除非你已经将它编码为&在这种情况下你可能只想在给它之前解码它)到xmltextwriter类。