我想要一个@id
包含3个连字符的元素的XPath。
例如我要选择下面的第二个元素
<a id="X-X"></a>
<a id="X-X-X-X"></a>
<a id="X-X-X"></a>
答案 0 :(得分:1)
此XPath 2.0表达式
//a[matches(@id, "^([^-]*-){3}[^-]*$")]
将选择所有具有a
属性且其值具有3个id
字符的-
元素。它可以轻松地用于计算-
以外的字符,或者要求某些字符介于-
字符之间。
此XPath 1.0表达式,
//a[string-length(@id) - string-length(translate(@id,"-","")) = 3]
将选择所有具有a
属性且其值具有3个id
字符的-
元素。