如何过滤保持树结构的xml节点名称?

时间:2016-11-04 15:02:24

标签: c# xml linq linq-to-xml

我想从xml文件中检索树结构(或节点结构),忽略一些元素。在示例中,我只想获取文件夹节点。

<Folder name="users">
     <Folder name="user1">
        <File name="file1.txt"></File>
        <Folder name="mydocuments">...</Folder>
     </Folder>
</Folder>
<Folder name="windows"></Folder>
<Folder name="temp"></Folder>

但我想保留&#34;树&#34;文件夹节点和注释使用如下方法丢失它:

var folders = doc.Descendants().Where(n => n.Name == "Folder");

我想得到这样的东西:

Folder (users)
  |
  |__ Folder (user1)
        |
        |__ Folder (mydocuments)
Folder (windows)
Folder (temp)

如何使用Linq To Xml?

1 个答案:

答案 0 :(得分:1)

您可以从文件夹中删除文件:

doc.Descendants("File").Remove();