从特定节点加载xml数据

时间:2015-03-05 14:27:58

标签: c# xml

我的xml文件在

下面
<Nodes>
 <Node>
   ..
   ..
 <Node>
 <Node>
   ..
   ..
 <Node>
 <NodeTemplate>
   ..
   ..
 <NodeTemplate>
</Nodes>

我的主要数据是'Node'元素,最后一个元素是模板。无论如何我可以忽略下面的NodeTemplate吗?

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

2 个答案:

答案 0 :(得分:1)

当然 - 只要求Node元素:

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

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

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

...请记住不要将它保存在原文的顶部,因为你会吹走NodeTemplate元素......

答案 1 :(得分:1)

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

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