如何使用单个xpath表达式获取H1,H2,H3,....

时间:2011-11-03 09:38:33

标签: xpath

如何在单个xpath表达式中获取H1,H2,H3内容?

我知道我能做到这一点。

//html/body/h1/text()
//html/body/h2/text()
//html/body/h3/text() 

等等。

1 个答案:

答案 0 :(得分:29)

使用

/html/body/*[self::h1 or self::h2 or self::h3]/text()

以下表达式不正确

//html/body/*[local-name() = "h1"  
           or local-name() = "h2"  
           or local-name() = "h3"]/text()  

因为它可能会选择unwanted:h1different:h2someWeirdNamespace:h3的子项文本节点。

另一个建议:当静态知道XML文档的结构时,请始终避免使用// 。使用//最常导致效率显着低下,因为它会导致遍历上下文节点中的完整文档(子)树。