加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Xpath 2.0 – xmlXPathCompOpEval:找不到匹配

发布时间:2020-12-17 02:54:27 所属栏目:百科 来源:网络整理
导读:我在我的Rails项目中运行Xpath 2.0并尝试使用它提供的matches()函数,如下所示: page = Mechanize.new.get('http://www.example.com').parserpage.search("//a[matches(text(),'lagerfordon','i')]").first.text 这会引发以下错误: RuntimeError: xmlXPathC
我在我的Rails项目中运行Xpath 2.0并尝试使用它提供的matches()函数,如下所示:

page = Mechanize.new.get('http://www.example.com').parser
page.search("//a[matches(text(),'lagerfordon','i')]").first.text

这会引发以下错误:

RuntimeError: xmlXPathCompOpEval: function matches not found

我究竟做错了什么?

解决方法

Nokogiri(建立在Mechanize上)使用支持XPath 1.0的libxml,但不支持XPath 2.0,因此没有可用的匹配功能.

您可以使用contains函数执行区分大小写的匹配:

//a[contains(text(),'lagerfordon')]

为了进行不区分大小写的匹配,或者使用更复杂的正则表达式,您需要从Ruby中的Mechanize过滤结果,或者创建自定义XPath函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读