0

Nokogiri と XPath を使用して、次の HTML から情報を抽出しようとしています。

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

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

ちゃんと日付を教えてくれます。次に、強力なノード内のテキストを取得し、br で分割します。br で区切られた多くの果物がある場合もあれば、br のない果物が 1 つだけある場合もあります。基本的にJSONを介して一連のパーサーを定義しているため、コードではなくxpathでこれを実現したいと考えています。

今のところトークナイザー機能を使ってストロングタグでテキストを渡そうと考えています。私はそれが次のようになるべきだと思った:

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+")]',...
4

0 に答える 0