0

次のフラグメントは、値に「JOSE」が含まれる「Name」要素を含む「DpsRecord」要素を削除します。ただし、Linqクエリをルートに適用してdpsRecords(クエリの左側)を取得し、dpsRecordsで削除した後、要素もルートで削除される方法がわかりません。

XElement root = XElement.Load("input.xml");
IEnumerable<XElement> dpsRecords = from elem in
                        root.Elements("DpsRecord")
                        where (((string)elem.Element("Name")).Contains("JOSE"))              
                        select elem;
foreach (XElement elem in dpsRecords)
{
   elem.Remove();
}
root.Save("output.xml"); 
4

1 に答える 1

2

Remove メソッドhttp://msdn.microsoft.com/en-us/library/system.xml.linq.xnode.remove.aspxは、呼び出されたノードを親ノードから削除します。

また、 foreach は必要ないことに注意してください。実行できますdspRecords.Remove()

于 2012-05-09T11:46:39.417 に答える