1

既存の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);
}
4

1 に答える 1

4

さて、XmlDocumentオブジェクトはデフォルトで空白を無視します。このように空白を保持するように強制する必要がありました— </ p>

xDoc.PreserveWhitespace = true;

とBAM!問題が解決しました!

于 2012-09-22T10:14:49.773 に答える