特定の属性を持つ要素ノードを見つける方法を探していたところ、「Nokogiri を使用して、特定の属性名を含む要素内のすべてのノードを取得する」
ただし、属性にコロンがある場合は機能しません。たとえば、「foo:bar」のように
<abc foo:bar="hello"></abc>
(はい、有効です)。
ただし、使用する場合:
elements = @doc.xpath("//*[@foo:bar]")
私は得る:
unexpected ':' after '#<Nokogiri::CSS::Node:0x107458870>' (Nokogiri::CSS::SyntaxError)
そして、私が使用するとき:
elements = @doc.xpath("//*[@foo\\:bar]")
私は得る:
Invalid predicate: //*[@foo\:bar] (Nokogiri::XML::XPath::SyntaxError)
誰か提案はありますか?
$ nokogiri -v
# Nokogiri (1.5.6)
---
nokogiri: 1.5.6
warnings: []
ruby:
version: 1.8.7
engine: mri
description: ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
platform: universal-darwin11.0
libxml:
loaded: 2.7.3
compiled: 2.7.3
binding: extension
これらは古いバージョンですか?