如何在保持树结构的xml节点名称上进行过滤

本文关键字:节点 过滤 xml 结构 | 更新日期: 2023-09-27 18:16:41

我想从xml文件中检索树结构(或节点结构),忽略某些元素。在这个例子中,我只想得到Folder节点。

<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>

但是我想保留文件夹节点的"树",并注意使用如下方法丢失它:

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

我想得到这样的东西:

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

如何使用Linq To Xml ?

如何在保持树结构的xml节点名称上进行过滤

你可以直接从文件夹中删除文件:

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