我需要一个通过xml文件的应用程序,更改一些属性值并添加其他属性。我知道我可以用XmlDocument和XmlWriter做到这一点。但是,我不想更改文档的间距。有没有办法做到这一点?或者,我是否必须自己解析文件?
答案 0 :(得分:4)
XmlDocument
有一个属性PreserveWhitespace
。如果将其设置为true
,将保留无关紧要的空格。
请参阅MSDN
修改强>
如果我执行以下代码,则会保留包含换行符的空格。 (确实在<b
和/>
)
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.LoadXml(
@"<a>
<b/>
</a>");
Console.WriteLine(doc.InnerXml);
输出结果为:
<a>
<b />
</a>
答案 1 :(得分:0)
通常会丢弃或重新格式化无关紧要的空格。因此,除非XML文件在节点上使用xml:space="preserve"
属性来保留其精确的空格,否则根据XML规范更改空格是正确的。