2014-04-23 18 views
5

Używając Nokogiri, chciałbym określić nazwę elementu głównego.Jak uzyskać nazwę elementu głównego dokumentu XML za pomocą Nokogiri?

Myślałem, że wykonanie kwerendy XPath dla / może zrobić lewę, ale najwyraźniej nazwa węzła to "dokument"?

require 'nokogiri' 
doc = Nokogiri::XML('<foo>Hello</foo>') 
doc.xpath('/').first.name # => "document" 
doc.xpath('/foo').first.name # => "foo" 

Jak mogę uzyskać ciąg „foo” dla nazwy węzła głównego nie wiedząc o tym z wyprzedzeniem?

Odpowiedz

8

/* powinno działać:

require 'nokogiri' 
doc = Nokogiri::XML('<foo>Hello</foo>') 

doc.xpath('/*').first.name 
#=> "foo" 

lub używając Nokogiri::XML::Document#root:

doc.root.name 
#=> "foo" 
Powiązane problemy