我想刪除特定標記的出現,使內部XML保持不變。我希望通過一次傳遞來完成此操作(而不是搜索,替換,並從頭開始)。例如,從源頭:從XML中刪除標記出現
<element>
<RemovalTarget Attribute="Something">
Content Here
</RemovalTarget>
</element>
<element>
More Here
</element>
我希望得到的結果是:
<element>
Content Here
</element>
<element>
More Here
</element>
我已經試過這樣的事情(原諒我,我是新來的LINQ):
var elements = from element in doc.Descendants()
where element.Name.LocalName == "RemovalTarget"
select element;
foreach (var element in elements) {
element.AddAfterSelf(element.Value);
element.Remove();
}
但通過循環的第二次我得到一個空引用,大概是因爲該集合通過更改它是無效的。什麼是一個有效的方式來在一個潛在的大文件上移除這些標籤?
。如果RemovalTarget元素包含子元素,則值無效 – 2008-11-03 21:18:42