从特定节点加载xml数据

本文关键字:xml 数据 加载 节点 | 更新日期: 2024-10-21 21:15:52

我的xml文件在下

<Nodes>
 <Node>
   ..
   ..
 <Node>
 <Node>
   ..
   ..
 <Node>
 <NodeTemplate>
   ..
   ..
 <NodeTemplate>
</Nodes>

我的主要数据在"Node"元素中,最后一个元素是模板。我是否可以忽略下面的NodeTemplate?

xdoc  = XDocument.Load(ppath);
XElement xmain = xdoc.Element("Nodes"); 

从特定节点加载xml数据

当然-只要求Node元素:

var nodes = xdoc.Root.Elements("Nodes");
foreach (var node in nodes)
{
    ...
}

或者,如果你想在没有NodeTemplate阻碍的情况下对文档进行大量工作:

xdoc.Root.Elements("NodeTemplate").Remove();

记住不要把它保存在原来的顶部,因为你会把NodeTemplate元素吹走。。。

您可以选择所有Nodes元素,然后删除NodeTemplate节点,如下所示:

 var nodes = xdoc.Elements("Nodes");
 nodes.Elements("NodeTemplate").Remove();