2017-07-28 3 views
0

Je dois extraire la valeur d'un attribut. Du xml ci-dessous j'ai besoin d'extraire la valeur '9'. J'utilise ce code mais j'obtiens uniquement le code XML entier au lieu de la valeur.Extrait la valeur d'attribut de XML dans JRuby

XPath.match(xmlDoc, "/config[@version]") 
+1

Quelle classe XPath est-ce? Je ne peux pas trouver une gemme à utiliser sans une erreur de votre code. –

Répondre

0

Vous pouvez utiliser

require 'active_support/core_ext/hash' 
Hash.from_xml(xmlDoc)['config']['version'] 
+0

Merci Sajin mais a cette erreur. NoMethodError: méthode non définie 'from_xml 'pour Hash: Classe – Zaf

+0

@Zaf peut-être que vous avez besoin d'activeupport – Sajin

0

Vous pouvez probablement utiliser Nokogiri, mais il est peut-être trop pour un simple fichier de configuration.

require 'nokogiri' 
Nokogiri::XML(xmlDoc).xpath('/config/@version').text 
+0

Merci Mark pour votre aide. J'ai essayé nokogiri et obtenir cette erreur, ArgumentError: doit être kind_of String ou répondre à: to_io,: read, ou: string – Zaf

0

Merci, Sajin et Mark pour votre soutien à ce sujet. Je l'ai eu à travailler avec ça.

XPath.first(xmlDoc, "/config/@version]").value 

La réponse est revenu comme 9