我正在尝试读取现有的XML文件,修改一堆节点的InnerText
和Attribute
值,然后将更改保存回文件。
我正在使用以下代码。保存XML文件时,它会混乱格式化。例如,某些节点之间的换行符消失。如何保留(或重新格式化格式化和缩进)XML文件?
XmlDocument xDoc = new XmlDocument();
using (XmlReader xRead = XmlReader.Create(strXMLFilename))
{
xDoc.Load(xRead);
}
//Makes changes to a few nodes
XmlWriterSettings xwrSettings = new XmlWriterSettings();
xwrSettings.IndentChars = "\t";
xwrSettings.NewLineHandling = NewLineHandling.Entitize;
xwrSettings.Indent = true;
xwrSettings.NewLineChars = "\n";
using (XmlWriter xWrite = XmlWriter.Create(strXMLFilename, xwrSettings))
{
xDoc.Save(xWrite);
}
答案 0 :(得分:3)
好的,所以XmlDocument
对象默认忽略空格。我不得不强迫它保留这样的空白 -
xDoc.PreserveWhitespace = true;
和BAM!问题解决了!