为了账号安全,请及时绑定邮箱和手机立即绑定

C#获取xml文档中的所有节点但忽略嵌套节点

C#获取xml文档中的所有节点但忽略嵌套节点

C#
POPMUISE 2021-11-14 15:52:56
我有一个 xml 文档,我需要在其中迭代父节点的直接后代的所有节点。例如,我有以下 xml 文档<root>  <node1>val1</node1>  <node2>val2</node2>  <nodes>    <nestedNode>nestedvalue</nestedNode>  </nodes></root>我有以下代码可以获取所有元素:XmlNodeList nodes = doc.SelectNodes("//*");这将返回节点 1、节点 2 和嵌套节点。我想要的只是 node1 和 node2 并忽略任何嵌套值。在此先感谢您的帮助。
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

要选择作为根元素的子元素的元素,您可以使用 xpath:

/root/*

或者一般来说:

/*/*

您不应遍历此处的所有后代 ( //...),因为这将遍历文档中的所有元素。您必须添加额外的过滤,这会使查询变得不必要地复杂:

//*[parent::*[not(parent::*)]]

但是,您要过滤掉没有其他子元素的元素,因此需要添加条件not(*)

/*/*[not(*)]


查看完整回答
反对 回复 2021-11-14
  • 1 回答
  • 0 关注
  • 328 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信