我已关注xml
<element id="1">
<choice>
<sequence>
<element id="11">
<group>
<element id="111">
<!-- ... -->
</element>
</group>
</element>
<element id="12">
<element id="121">
<!-- ... -->
</element>
</element>
</sequence>
</choice>
</element>
当前<element>
和子<element>
个节点之间的可以是<choice>
,<sequence>
和<group>
个节点的任意组合。或者他们可能不是。如何获取当前<element>
但没有<element>
个节点的所有后续<element>
个节点,这些节点是它们的后代。
在<element>
节点的上下文中,我想写一些类似于:
./(choice|sequence|group)*/element
但不起作用:(
答案 0 :(得分:1)
我不确定我是否正确理解了这个问题...请尝试以下XPath
表达式并告诉我这是不是您想要的:
./*[self::choice or self::sequence or self::group]/element
答案 1 :(得分:1)
我认为你只能再次使用选择&#34; root&#34;的xpath来解决它。元件。例如,如果您通过xpath //element[@id="1"]
选择它,那么
.//element[ancestor::element[1] = //element[@id="1"]]
选择你想要的。它会找到element
之间没有其他element
和&#39; root&#39;
你可以在那里测试 - https://eval.in/781145设置id = 1,id = 12 ....