如何在不更改格式/间距的情况下在 C# 中编辑 XML?

bsh*_*52s 5 c# xml

我需要一个通过 xml 文件、更改一些属性值并添加其他属性的应用程序。我知道我可以用 XmlDocument 和 XmlWriter 做到这一点。但是,我不想更改文档的间距。有没有办法做到这一点?或者,我必须自己解析文件吗?

Pet*_*den 7

XmlDocument有一个属性PreserveWhitespace。如果您将此设置为true无关紧要的空白,则将保留。

MSDN

编辑

如果我执行以下代码,则会保留包括换行符在内的空格。(确实在<b和之间插入了一个空格/>

XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.LoadXml(
    @"<a>
       <b/>
    </a>");
Console.WriteLine(doc.InnerXml);
Run Code Online (Sandbox Code Playgroud)

输出是:

<a>
   <b />
</a>
Run Code Online (Sandbox Code Playgroud)