如何在单个xpath表达式中获取H1,H2,H3内容?
我知道我能做到这一点。
//html/body/h1/text()
//html/body/h2/text()
//html/body/h3/text()
等等。
答案 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:h1
,different:h2
,someWeirdNamespace:h3
的子项文本节点。
另一个建议:当静态知道XML文档的结构时,请始终避免使用//
。使用//
最常导致效率显着低下,因为它会导致遍历上下文节点中的完整文档(子)树。