在C中,我需要创建用于ivy和nant的XML文件,但是很难在输出文件中获得正确的编码。
如果我使用Xelement的.save(“c:\foo.xml”),我会得到正确的 看 文件,但Ivy和/或Nant会感到不安,因为文件实际上是使用UTF-8保存的,但我实际上需要将其保存为ANSI才能使用它。
我现在有一个预兆,就是使用.toString()获取文本,然后使用streamwriter将其写入文件。
理想情况下,我希望在.save()期间设置格式,但找不到有关此内容的任何信息。
谢谢。
XDocument.Save 有多个重载。
通过正确构造的xmlwriter进行写入,我们可以选择ASCII编码。
var doc = XDocument.Parse( "<foo> barṸbaz</foo>" ); XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = new ASCIIEncoding(); using (var writer = XmlWriter.Create( "xelement.xml", settings )) { doc.Save( writer ); }