2014-04-23 2 views
5

Utilizzando Nokogiri, vorrei determinare il nome dell'elemento radice.Come posso ottenere il nome dell'elemento principale di un documento XML usando Nokogiri?

Ho pensato che fare una query XPath per / avrebbe fatto il trucco ma apparentemente quel nome nodo è "documento"?

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

Come posso ottenere la stringa "pippo" per il nome del nodo radice senza saperlo prima del tempo?

risposta

8

/* dovrebbe funzionare:

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

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

o utilizzando Nokogiri::XML::Document#root:

doc.root.name 
#=> "foo"