c# - 将 XMLDocument 写入具有特定换行符的文件 (c#)

标签 c# newline xmldocument xmlwriter

我有一个从文件中读入的 XMLDocument。该文件是 Unicode,并具有换行符“\n”。当我写回 XMLDocument 时,它有换行符“\r\n”。

这是代码,非常简单:

XmlTextWriter writer = new XmlTextWriter(indexFile + ".tmp", System.Text.UnicodeEncoding.Unicode);
writer.Formatting = Formatting.Indented;

doc.WriteTo(writer);
writer.Close();

XmlWriterSettings 有一个属性 NewLineChars,但我无法在“writer”上指定设置参数,它是只读的。

我可以创建具有指定 XmlWriterSettings 属性的 XmlWriter,但 XmlWriter 没有格式化属性,导致文件根本没有换行符。

所以,简而言之,我需要编写一个带有换行符 '\n' 和 Formatting.Indented 的 Unicode Xml 文件。想法?

最佳答案

我认为你很接近。您需要从设置对象创建编写器:

(从 XmlWriterSettings MSDN 页面提取)

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;

writer = XmlWriter.Create(Console.Out, settings);

writer.WriteStartElement("order");
writer.WriteAttributeString("orderID", "367A54");
writer.WriteAttributeString("date", "2001-05-03");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();

writer.Flush();

关于c# - 将 XMLDocument 写入具有特定换行符的文件 (c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700435/

相关文章:

c# - 如何以编程方式修改 app.config 中的 assemblyBinding?

ASP.NET:将 XmlDocument 保存到 Response.OutputStream 会遵守编码吗?

c# - 将控件值从表单传递到单独类的最佳方法

c# - 授权属性中的角色在 MVC 4 中无法按预期工作

java - Java匹配/超出readline性能

mysql - 在 HTML 中显示 mysql 换行符

python - 在 Windows 上的 Python 中向文件追加新行

xml - IDML 中故事 XML 的逻辑顺序

c# - 无效参数 : Unsupported locator strategy: null - with chrome driver 76. 0.3809.126

c# - 如何在 C# 的 foreach 循环中调用 GetEnumerator 方法?