XmlDocument
適切なインデントを付けてファイルに保存する必要があります(Formatting.Indented)
が、子を持つノードの一部は 1 行に収める必要があります(Formatting.None)
。
XmlTextWriter
ドキュメント全体の設定を受け入れるので、それを達成する方法は?
@Ahmad Mageedの応答後に編集:
書き込み中に XmlTextWriter の設定を変更できるとは知りませんでした。それは朗報です。
現在、xmlDocument (既にノードで満たされています。具体的には .xaml ページです) を次のように保存しています。
XmlTextWriter writer = new XmlTextWriter(filePath, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
xmlDocument.WriteTo(writer);
writer.Flush();
writer.Close();
もちろん、すべてのノードでインデントを有効にします。<Run>
すべてのノードを扱うときは、インデントを無効にする必要があります。
あなたの例では、「手動で」 XmlTextWriter に書き込みます。ノードを検出できるように、すべての xmlDocument ノードをクロールして XmlTextWriter に書き込む簡単な方法はあり<Run>
ますか? または、現在のノードのすべての子に移動する何らかの再帰メソッドを作成する必要がありますか?