XDocument删除节点 [英] XDocument removing nodes

查看:78
本文介绍了XDocument删除节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个XML文件

<rows>
  <head>
    <beforeInit>
      <call command="attachHeader">
        <param>#text_filter,#text_filter,#text_filter,#text_filter,#text_filter,#text_filter</param>
      </call>
    </beforeInit>
    <afterInit>
      <call command="enablePaging">
        <param>recinfoArea</param>
      </call>
     </afterInit>
    <column width="100" align="center" type="ro" sort="server" color="undefined" id="Id">Id</column>
    <column width="100" align="center" type="ro" sort="server" color="undefined" id="NazovProjektu">NazovProjektu</column>
   </head>
</rows>

我想删除beforeInit和afterInit元素.

I'd like to remove the beforeInit and afterInit elements.

我尝试了

xml.Elements().Where(e=>e.Name == "beforeInit" || e.Name == "afterInit").Remove();

但没有运气.

推荐答案

如果要删除每次出现的beforeInit或afterInit,都可以使用

if you want to delete every occurence of beforeInit or afterInit you could use

xml.Descendants().Where(e=>e.Name == "beforeInit" || e.Name == "afterInit").Remove();

(后代代替元素). elements()返回直接子节点的列表,而后代返回每个节点.

(descendants instead of elements). elements() returns a list of direct child nodes, whereas descendants returns every node.

这篇关于XDocument删除节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆