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

ruby-on-rails – Xpath 2.0 – xmlXPathCompOpEval:找不到匹配的函数,第1张

概述我在我的Rails项目中运行Xpath 2.0并尝试使用它提供的matches()函数,如下所示: page = Mechanize.new.get('http://www.example.com').parserpage.search("//a[matches(text(),'lagerfordon','i')]").first.text 这会引发以下错误: RuntimeError: xml 我在我的Rails项目中运行Xpath 2.0并尝试使用它提供的matches()函数,如下所示:

page = Mechanize.new.get('http://www.example.com').parserpage.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函数.

总结

以上是内存溢出为你收集整理的ruby-on-rails – Xpath 2.0 – xmlXPathCompOpEval:找不到匹配的函数全部内容,希望文章能够帮你解决ruby-on-rails – Xpath 2.0 – xmlXPathCompOpEval:找不到匹配的函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1286745.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存