1
我一直在尋找一種方式來找到具有特定屬性的元素節點,發現: 「Use Nokogiri to get all nodes in an element that contain a specific attribute name」如何獲取包含冒號的特定屬性的節點?
但是,它不當屬性有一個冒號,例如工作「富:酒吧」作爲
(是的,它的有效性)。
然而,當我使用:
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
這些舊版本?
您使用的是Ruby,Nokogiri和LibXML的哪個版本?在命令行鍵入'nokogiri -v',並通過編輯將該信息追加到您的問題中。 –
這不是冒號的屬性,它是一個命名空間。如果名稱空間未在根節點上註冊,則必須自行註冊。 –