我有一个 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(*)]
- 1 回答
- 0 关注
- 328 浏览
添加回答
举报
0/150
提交
取消