如何在Nokogiri中使用XPath tokenizer功能?

时间:2013-02-24 01:39:01

标签: ruby xpath nokogiri

我正在尝试使用Nokogiri和XPath从以下HTML中提取信息。

<p>Friday, February 1<br><strong>Apple <br> Orange</strong></p>

e.xpath('./text()[following-sibling::br]')

给我约会就好了。然后我想抓住强节点内的文本并在br上拆分。可能有很多水果被br分开,或者可能只有一个没有br。理想情况下,我希望在xpath而不是代码中实现这一点,因为我实际上是通过JSON定义了一堆解析器。

现在我想我应该使用tokenizer函数并传递强标记中的文本。我认为应该是这样的:

e.xpath('./strong[fn::tokenize(.,"<br>")]')

并且还尝试了

e.xpath('fn::tokenize(./strong,"<br>")')

但我得到了:

.../gems/nokogiri-1.5.6/lib/nokogiri/xml/node.rb:159:in `evaluate': Invalid expression: ./strong/text()[fn::tokenize(.,"br")] (Nokogiri::XML::XPath::SyntaxError)

我在(第139行)发生错误的方法的文档之后建模我的用法:

node.xpath('.//title[regex(., "\w+")]',...

0 个答案:

没有答案
相关问题