2017-08-23 3 views
1

J'utilise la bibliothèque nokogiri dans ruby ​​pour analyser une page Web. Je reçois le résultat XML comme:Obtenir les attributs xml et les valeurs en utilisant ruby ​​

#<Nokogiri::XML::Element:0x1399140 name="p" children=[#<Nokogiri::XML::Text:0x1398264 "\n">, 
#<Nokogiri::XML::Element:0x1395d50 name="i" attributes=[#<Nokogiri::XML::Attr:0x1395cb4 name="class" value="icon-pctgrm p-01_g">, 
#<Nokogiri::XML::Attr:0x1395ca8 name="title" value="new">]>, 
#<Nokogiri::XML::Text:0x1394e20 "\n">]> 

De ce résultat, je dois obtenir le résultat final class:icon-pctgrm p-01_g, title:new

+1

Ok, qu'avez-vous essayé? – TheCog

Répondre

0

d'abord enregistrer le xml comme test.xml dans le même répertoire de ce script, puis exécutez this-

require 'nokogiri' 

File.foreach(File.open("test.xml")) do |line| 
    if /Attr/.match(line) 
    print line.split('name=')[-1].split('"')[1] + ":" + line.split('value=')[1].split('"')[1] + ", " 
    end 
end 

Cela donnera le résultat attendu AS- class:icon-pctgrm p-01_g, title:new,