我有这个:
<a>
<b>
<t>text</t>
</b>
</a>
<a>
<t>text</t>
</a>
Run Code Online (Sandbox Code Playgroud)
所以我想选择文本而不管它在哪里.(请注意,它可以是不仅仅是1/2级别的任何地方,例如它可以没有父母)
这可能吗?
小智 27
您正在寻找的descendant轴:
所述
descendant轴包含上下文节点的后代; 后代是孩子或孩子的孩子等等; 因此,后代轴永远不会包含属性或命名空间节点
在你的情况下: /descendant:t
当然,正如其他人已经回答的那样,有一个缩写语法:
//是的缩写/descendant-or-self::node()/.例如,//para是for的缩写/descendant-or-self::node()/child::para,因此将选择para文档中的任何元素(因为文档元素节点是根节点的子节点,因此将选择para作为文档元素的元素//para)
Chr*_*lls 25
您可以使用//从当前节点中选择所有节点.所以//text()会选择所有文本节点.
如果你想要所有t元素,你会做//t.如果你想做t某个特定点的所有元素,那么你可以这样做/x/y//t.