我在一个字符串中有一个xpath,看看每个位中从nokogiri返回的是什么,我试图遍历字符串,从而遍历路径。
我正在使用的xpath字符串是:
//div[contains(@id,"results")]//div[contains(@class,"page-nav")]//ul[contains(@class,"pagination-tabs")]
为此,我将//
上的字符串拆分,然后使用inject将文档放入循环块,执行xpath,执行puts
然后返回该段我可以做下一点,像这样:
get_mpc_tag[:path].split.('//').inject(doc) do |el,section|
a = el.xpath("//%s" % section)
puts a
a
end
但是我得到了一个奇怪的错误(好吧,对我来说很奇怪):
undefined method `call' for #<Array:0x007f9f8c032f68> (NoMethodError)
出现此错误的任何想法?
答案 0 :(得分:5)
foo.(bar)
是
的语法糖foo.call(bar)
您正尝试在call
的结果上致电split
,这是Array
并且没有call
方法。