我认为一个例子会更好。如果我有这样的xml,我想检查我当前的上下文节点(基于放置光标的位置......这可能不相关)是node1 [@ attr =“val”] / node2的后代。因此,如果我的光标位置在第一个node2或第一个node3内,那么它是成功的场景,如果它在node1 [@ attr =“val”]内,那么它就是一个失败场景。
<root>
<node1 attr="val">
<node2>
<node3>
</node3>
</node2>
</node1>
<node1>
<node15>
<node2>
<node3>
</node3>
</node2>
</node15>
</node1>
</root>
此外,如果它在第二个node3内,那么它也是一个失败场景,因为在这种情况下,node2不是node1的直接子节点,而且node1也没有所需的属性。