我怎么能把XML解析为哈希

时间:2015-09-24 07:51:36

标签: ruby

我希望我能得到像这样的哈希列表。

有没有宝石可以帮我一个忙?

预期结果

[
    {
     "prog_name": "TAIWAN CTA Index",
     "prog_id": 9
    },
    {
     "prog_name": "CTO CTA Index",
     "prog_id": 12
    },    
]

原始输入文件source.xml

<prog>
  <prog_name>TAIWAN CTA Index</prog_name>
  <prog_id>9</prog_id>
</prog>
<prog>
  <prog_name>CTO CTA Index</prog_name>
  <prog_id>12</prog_id>
</prog>
...

1 个答案:

答案 0 :(得分:2)

你应该看看Nokogiri。类似的东西:

@doc = Nokogiri::XML(<IO thing here>)
@doc.xpath('prog').map do |prog_element| 
  {
    'prog_name' => prog_element.xpath('prog_name').content,
    'prog_id' => prog_element.xpath('prog_id').content
  }
end

会为你做的。