获取所有儿童文本的xpath

pal*_*avi 21 xpath

有没有办法在ul标签中获取所有子节点值.

输入:

<ul>
    <li class="type">Industry</li> 

    <li><a href="/store/Browse/?N=355+361+4294855087">Automotive</a></li>                            

    <li><a href="/store/Browse/?N=355+361+4294855065">Parts </a></li>                                

    <li>Tires</li>                  
</ul>
Run Code Online (Sandbox Code Playgroud)

产出:工业,汽车,零件,轮胎.

eri*_*xiv 25

这将检索具有父ul元素的所有文本元素.

//ul/descendant::*/text()
Run Code Online (Sandbox Code Playgroud)

  • 更准确的答案是使用`descendant-or-self`来获取元素本身的文本,如果元素没有任何子元素的话. (20认同)
  • 试过这个并且它不起作用:/ a [not(contains(descendant ::*/text(),'Networks'))] (3认同)

igo*_*igo 21

您可以使用 XPath 轴。轴表示与上下文节点的关系,用于在树上相对于该节点定位节点。截至今天,有13 个轴。您可以descendant将上下文节点或descendant-or-self轴的所有子节点(包括嵌套)用于指示上下文节点及其所有后代的轴。例如:

//ul/descendant::*/text()
//ul/descendant-or-self::*/text()
Run Code Online (Sandbox Code Playgroud)