XDocument の特定のセクションをファイルに書き込む方法を知りたいと思っていました。
アプリケーションの起動時にドキュメント全体をロードし、アプリケーション ロードを使用して設定を読み取るとします。クラスのプロパティを変更するとき、そのプロパティのみ (またはそのプロパティとその子のみ) をファイルに書き戻し、XDocument (メモリ内) へのその他の変更を変更せずに残したいと考えています。
現在のコードは次のようになります (XDocument クラスと XElement クラスのラッパーがいくつかあることに注意してください)。
public void SaveRecursiveData()
{
//Load the original file into a new document
XmlConfig tmp = new XmlConfig(_XmlDoc.Filename,false);
//find the node i am interested in
XElement currentElement = tmp.Xmldoc.XPathSelectElement(this.Path);
//Replace it with my IN MEMORY one
currentElement.ReplaceWith(_XmlNode);
//Write the whole temporary document back to the file
tmp.Save();
}
これが最善のアプローチですか、それとも別の方法がありますか?