我使用XDocument.Save(路径)将文件保存为xml文档,保存并加载文档后,所有换行符都从“/ r / n”更改为“/ n /”。为什么会发生这种情况?我该如何解决?
答案 0 :(得分:5)
您可以使用XmlWriterSettings
来控制换行符:
XmlWriterSettings xws = new XmlWriterSettings();
xws.NewLineChars = "\r\n";
using (XmlWriter xw = XmlWriter.Create("whatever.xml", xws))
{
xmlDocumentInstance.Save(xw);
}
无论您在XML中使用什么内容,都可能会使您的行结束正常化。
答案 1 :(得分:1)
如果在调用Load()和Save()之前在XmlDocument对象上设置PreserveWhiteSpace属性,则不会发生这种情况:
var doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.Load("foo.xml");
...
doc.Save("bar.xml"); // Line endings will not be altered