我正在寻找一种方法来查找具有特定属性的元素节点并发现:“使用 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
这些是旧版本吗?