有什么方法可以保存 XmlDocument *没有*缩进和换行吗?
我所有的搜索都带来了相反的问题,但我有一个文件,如果使用换行符和缩进保存,它会增长近 50%。
有什么办法解决这个问题吗?
编辑我不是在谈论打开文件,而是保存一个文件。此代码为我重现了“错误”:
var path = @"C:\test.xml";
System.IO.File.WriteAllText(path, "<root>\r\n\t<line></line>\r\n\t<line></line>\r\n</root>");
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.PreserveWhitespace = false;
doc.Load(path);
doc.PreserveWhitespace = false; //just in case!
doc.Save(path);
中间的断点显示 doc.InnerXml 实际上是
,如预期。但最后的test.xml
内容是:
<root>
<line>
</line>
<line>
</line>
</root>
All my searches have brought up people asking the opposite, but I have a file which grows by nearly 50% if it is saved with line returns and indentation.
Is there any way round this?
EDIT I'm not talking about opening a file, but saving one. This code reproduces the 'bug' for me:
var path = @"C:\test.xml";
System.IO.File.WriteAllText(path, "<root>\r\n\t<line></line>\r\n\t<line></line>\r\n</root>");
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.PreserveWhitespace = false;
doc.Load(path);
doc.PreserveWhitespace = false; //just in case!
doc.Save(path);
A breakpoint in the middle shows that doc.InnerXml is effectively <root><line></line><line></line></root>
, as expected. But the contents of test.xml
at the end is:
<root>
<line>
</line>
<line>
</line>
</root>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个代码:
Try this code:
使用 XmlWriterSettings:
Use XmlWriterSettings: