1

XMLファイルがあります。それに更新(いくつかのノードを追加)したい。コードは次のようになります。

var xmlDocuments = XDocument.Load(filePath);
var documentElementToEdit = xmlDocuments.Element("Container").Element("Documents").Elements("Document").Where(x => x.Element("GUID").Value == GUID).FirstOrDefault();
missingIndexData1 = new XElement("IndexData");
XElement indexData1 = new XElement("Name", "somename");
XElement indexData2 = new XElement("Value", somevalue);
XElement indexData3 = new XElement("DataType", "3");
XElement indexData4 = new XElement("CreationTime", DateTime.Now.ToString("O"));
XElement indexData5 = new XElement("CreationTimeUTC", DateTime.UtcNow.ToString("O"));
missingIndexData1.Add(indexData1);
missingIndexData1.Add(indexData2);
missingIndexData1.Add(indexData3);
missingIndexData1.Add(indexData4);
missingIndexData1.Add(indexData5);
documentElementToEdit.Element("IndexDatas").Add(missingIndexData1);
documentElementToEdit.Save(filePath);

これが行うことは、元の XML ファイルをこのドキュメント ノードだけで上書きすることです。元のファイルのドキュメント ノードを更新するにはどうすればよいですか?

4

1 に答える 1

5

これが行うことは、元の XML ファイルをこのドキュメント ノードだけで上書きすることです。元のファイルのドキュメント ノードを更新するにはどうすればよいですか?

変更された要素だけでなく、ドキュメント全体を保存する必要があります。もちろん、それはファイル全体を書き換えますが、それを回避する簡単な方法はありません。

xmlDocuments.Save(filePath);
于 2012-07-06T10:39:22.653 に答える