我正在尝试使用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+")]',...