XPath获取所有子元素文本

43

有没有办法获取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>

输出结果:行业、汽车、零部件、轮胎。

2个回答

38
这将检索具有父元素ul的所有文本元素。
//ul/descendant::*/text()

3
尝试了这个,但它无效:/a[not(contains(descendant::*/text(),'Networks'))] - djangofan
27
更准确的答案是使用 descendant-or-self 来获取元素本身的文本,如果该元素没有任何子元素。 - bman

27

你可以使用XPath轴。一个轴代表与上下文节点的关系,并用于定位树上相对于该节点的节点。截至今天,共有13个轴。你可以使用descendant选取上下文节点的所有子元素(包括嵌套元素),或者使用descendant-or-self轴,它表示上下文节点及其所有后代元素。例如:

//ul/descendant::*/text()
//ul/descendant-or-self::*/text()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接