在 C# 中将 Linq to Xml 文件保存为 ANSI 而不是 UTF-8 (Ivy)
在 C# 中,我需要创建与 Ivy 和 NAnt 一起使用的 XML 文件,但很难在输出文件中获得正确的编码。
如果我使用 XElement 的 .Save("C:\foo.xml"),我会得到看起来正确的文件,但 Ivy 和/或 NAnt 会感到不安,因为该文件实际上是使用 UTF-8 保存的但我实际上需要将其保存为 ANSI 才能使用它。
我目前有一个办法,即使用 .ToString() 获取文本,然后使用 StreamWriter 将其写入文件。
理想情况下,我想在 .Save() 期间设置格式,但找不到任何相关信息。
谢谢。
In C#, I need to create XML files for use with Ivy and NAnt, but am having difficulty in getting the right encoding in the output file.
If I use XElement's .Save("C:\foo.xml"), I get the correct looking file, but Ivy and/or NAnt gets upset, as the file is actually saved using UTF-8 but I actually need to save it as ANSI in order to be able to use it.
I have a bodge in place at present, which is to use .ToString() to get the text and then use a StreamWriter to write it to a file.
Ideally, I'd like to set the format during the .Save() but can't find any information on this.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
XDocument.Save 有许多过载。
通过正确构造的 XmlWriter 进行写入允许我们选择 ASCII 编码。
XDocument.Save has a number of overloads.
Writing via a properly constructed XmlWriter allows us to choose the ASCII encoding.