XPath - 查找第一次出现的字符串

时间:2011-10-24 19:52:08

标签: xpath

我试图通过首先包含文本“To Be Coded”来选择一个锚元素,然后使用substring从字符串中提取一个数字,然后使用大于比较运算符(> 0)。这就是我到目前为止所做的:

/a[number(substring(text(),???,string-length()-1))>0]

HTML的一个例子是:

<a class="" href="javascript:submitRequest('getRec','30', '63', 'Z')">
                                    To Be Coded&nbsp;&nbsp;(23)
</a>

我现在的问题是我不知道如何找到第一次出现的左括号。我也不确定如何将我的内容与包含(text(),“To Be Coded”)函数结合起来。

所以我的选择标准是:

  • 必须是锚元素
  • 必须包含“待编码”文字
  • 括号中必须包含大于0的数字

编辑:我想我可以“硬编码”子字符串的起始位置,但我不确定那是什么 - XPath会在元素中的文本之前计算空格吗?它将如何处理/计算&nbsp;个字符?

1 个答案:

答案 0 :(得分:2)

这里试试这个:

a[contains(.,  'To Be Coded') and number(substring-before(substring-after(., '('), ')')) > 0]