我正在搜索一个 XPath 字符串(用于 VBA Excel),它可以查找特定级别上的所有节点,并且仅在它们具有特定(大)子节点的情况下才返回。不管嵌套有多“深”。关系:我不知道特定孩子的嵌套有多深,因此我无法制定固定路径。
在以下示例的情况下。我正在搜索直接在根“”下的所有节点,并且这些节点具有包含名称“Test”的任何子节点,但该子节点可能不包含函数“10”。但是功能“10”可以在更高级别上使用
XML 字符串:
<Program>
<AA name="1" function="01"/>
<BB name="2" function="10">
<CC name="Test" function="01"/>
</BB>
<DD name="Test" function="05"/>
<EE name="3" function="01">
<FF name="4" function="05">
<GG name="Test" function="10"/>
</FF>
</EE>
</Program>
要求的选择:
Item(0) = <BB name="2" function="10">
Item(1) = <DD name="Test" function="05">
以下 XPath 表达式给出了Program
包含名称“Test”的节点
xmlDoc.selectNodes("/Program/*[.//@name='Test']")
如何根据“功能”过滤孩子