Ice*_*shi 2 c# linq-to-xml code-snippets
如何从已加载的XDocument中删除特定节点?我的XML文档如下所示:
<Snippets>
<Snippet name="if">
<SnippetCode>
if (condition)
{
}
</SnippetCode>
</Snippet>
<Snippets>
<Snippet name="foreach">
<SnippetCode>
...
</SnippetCode>
</Snippet>
....
</Snippets>
Run Code Online (Sandbox Code Playgroud)
所以说如果我只想删除foreach片段,我该怎么做?我尝试了doc.Descendants.Remove(),但它对我不起作用(节点没有被删除).
编辑 - 在该注释中,我如何重命名代码段并通过代码编辑代码段?我还没有调查过,但一些帮助将不胜感激.
未经测试,但这应该工作.如果您想要解释,请告诉我.
xdoc.Descendents("Snippet").Where(xe => xe.Attribute("name") != null
&& xe.Attribute("name").Value == "foreach").Single().Remove()
Run Code Online (Sandbox Code Playgroud)