最初にもう一度言いたいのですが、私のプラットフォームはWindows ストア アプリケーションです(一部のユーザーは、私がデスクトップ環境について話していると考えて、重複したトピックとして質問を閉じているためです)。xml ドキュメントがあり、次の方法で要素を削除します。
public async void DeleteDocument(Word deletedItem)
{
StorageFile storageFile = await _fileloc.StorageFile();
var file = await storageFile.OpenAsync(FileAccessMode.ReadWrite);
Stream inStream = file.AsStreamForWrite();
XDocument xDoc = XDocument.Load(inStream);
xDoc.Descendants("Word").Single(p =>((Guid)p.Element("Id")).Equals(deletedItem.Id)).Remove();
xDoc.Save(inStream);
}
要素は正常に削除されましたが、 xDocument を保存すると、新しい xDocument が次のように最後の xml ファイルに追加されます
<XML ....>
<Word id="1">
<Item x="...."/>
<Item x="...."/>
</Word>
<Word id="2">
<Item x="...."/>
<Item x="...."/>
</Word>
</XML><XML ....>
<Word Id="2">
<Item x="...."/>
<Item x="...."/>
</Word>
</XML>
私にアドバイスしてください。あなたの助けに感謝します。
アップデート:
ジム・オニールのアドバイスの後、保存された文書は次のようになります
<XML ....>
<Word id="1">
<Item x="...."/>
<Item x="...."/>
</Word>
x="...."/>
<Item x="...."/>
</Word>
</XML>