[英]XDocument deleting a node
如何從已加載的XDocument中刪除特定節點? 我的XML文檔如下所示:
<Snippets>
<Snippet name="if">
<SnippetCode>
if (condition)
{
}
</SnippetCode>
</Snippet>
<Snippets>
<Snippet name="foreach">
<SnippetCode>
...
</SnippetCode>
</Snippet>
....
</Snippets>
所以說,如果我只想刪除foreach片段,我該怎么做? 我嘗試了doc.Descendants.Remove(),但它對我不起作用(該節點未刪除)。
編輯-在那一點上,我該如何重命名代碼段並通過代碼編輯代碼段? 我還沒有研究過,但是可以提供一些幫助。
未經測試,但這應該可行。 讓我知道是否要解釋。
xdoc.Descendents("Snippet").Where(xe => xe.Attribute("name") != null
&& xe.Attribute("name").Value == "foreach").Single().Remove()
您可以輕松完成此操作,最后應保存文件:
XDocument doc = XDocument.Load("XmlFile1.xml");
doc.Descendants("Snippet").Where(p => p.Attribute("name") != null
&& p.Attribute("name").Value == "foreach")
.Remove();
doc.Save("XmlFile1.xml");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.