2017-10-08 13 views
0

Existe-t-il un moyen d'obtenir le nom du tag racine d'un Nokogiri::XML::Element? Après avoir fait référence à How do I get the root element name of an XML document using Nokogiri? j'ai essayé d'utiliser Nokogiri::XML::Element.xpath('/*').first.name qui semble fonctionner uniquement pour Nokogiri::XML::Document. Existe-t-il un moyen direct d'extraire le nom de l'étiquette racine d'un Nokogiri::XML::Element autre que de le convertir en un Nokogiri::XML::Document et d'utiliser la méthode ci-dessus?Y at-il un moyen de trouver le nom de la balise racine d'un Nokogiri :: XML :: Element?

Exemple:

child_element = 
    <<~XML 
     <child2> 
     <developer> 
      <name>xyz</name> 
      <email>[email protected]</email> 
      <url>url</url> 
      <roles> 
      <role>owner</role> 
      <role>developer</role> 
      </roles> 
     </developer> 
     <name>Child2</name> 
     <qualification>Qualification2</qualification> 
     </child2> 
    XML 

child_nokogiri_document = Nokogiri::XML(child_element, &:noblanks) 

puts child_nokogiri_document.xpath('//developer').xpath('/*').first.name #=> child2 

Merci à l'avance!

+0

Un 'Nokogiri :: XML :: Element' répond à' name'. Peut-être que vous pourriez fournir un [mcve]? – Stefan

Répondre

0

Je pense que je l'ai compris!

puts child_nokogiri_document.xpath('//developer').first.name #=> developer

J'ai essayé plusieurs façons mais un peu raté ce correctif rapide.