为什么我所有的换行符都从“/r/n”变成了“/r/n”?至“/n/”我怎样才能阻止这种情况发生?

发布于 2024-09-09 04:41:45 字数 95 浏览 3 评论 0原文

我使用 XDocument.Save(path) 将文件保存为 xml 文档,保存并加载文档后,所有换行符都从“/r/n”更改为“/n/”。为什么会发生这种情况以及如何解决它?

I am saving my files as xml documents, using XDocument.Save(path), and after saving and loading a document all of the line breaks have changed from "/r/n" to "/n/". Why is this happening and how can I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽你眉间 2024-09-16 04:41:45

您可以使用 XmlWriterSettings 来控制换行符:

XmlWriterSettings xws = new XmlWriterSettings();
xws.NewLineChars = "\r\n";
using (XmlWriter xw = XmlWriter.Create("whatever.xml", xws))
{
   xmlDocumentInstance.Save(xw);
}

无论您使用什么来读取 XML,都可能会规范您的行结尾。

You can use XmlWriterSettings to control what your line-break characters are:

XmlWriterSettings xws = new XmlWriterSettings();
xws.NewLineChars = "\r\n";
using (XmlWriter xw = XmlWriter.Create("whatever.xml", xws))
{
   xmlDocumentInstance.Save(xw);
}

Whatever you're using to read in your XML might be normalizing your line endings.

勿忘初心 2024-09-16 04:41:45

如果在调用 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

If you set the PreserveWhiteSpace property on your XmlDocument object before calling Load() and Save() then this will not happen:

var doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.Load("foo.xml");
...
doc.Save("bar.xml"); // Line endings will not be altered
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文