使用ruby获取xml属性和值

时间:2017-08-23 17:39:56

标签: ruby xml nokogiri

我在ruby中使用nokogiri库来解析网页。我得到XML结果:

#<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">]> 

从这个结果我需要得到class:icon-pctgrm p-01_g, title:new

的最终结果

1 个答案:

答案 0 :(得分:0)

首先将xml保存为test.xml在此脚本的同一目录中,然后运行 ​​-

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

这将给出预期结果as- class:icon-pctgrm p-01_g, title:new,