如何选择从某个数字(XPath)开始的所有h标签?

时间:2019-02-05 11:38:14

标签: html xml xpath xml-namespaces

我想选择所有h标签,例如从标签h3开始,即h3h4h5 ...我知道如何仅选择h3

//h:h3

2 个答案:

答案 0 :(得分:1)

使用此:

//*[matches(name(), '^h\d')]

如果元素名称中包含名称空间,则使用:

//*[matches(local-name(), '^h\d')]

答案 1 :(得分:1)

XPath 1.0

保持简单并枚举它们:

//*[self::h:h3 or self::h:h4 or self::h:h5 or self::h:h6]

XPath 2.0

您可以通过多种方式使用正则表达式。例如...

对于h number 形式的所有标签:

//*[matches(local-name(),'^h\d+$')]

对于有限的一位数范围:

//*[matches(local-name(),'^h[3-6]$')]