Ruby on Rails - 需要将XML文件读入数组

时间:2014-11-13 12:44:35

标签: ruby-on-rails ruby arrays xml iteration

我使用的是Ruby on Rails,需要将xml文件的内容读入数组吗?

我使用以下方法从API中提取数据:

     uri = URI.parse("myAPIurl.com&show=storeID,name")
    http = Net::HTTP.new(uri.host, uri.port)
 request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)

寻找一种精益方法,使用Ruby on Rails将此xml文件迭代到数组中。

2 个答案:

答案 0 :(得分:1)

对于简单的用例,您可以使用:

xml = <<-XML
  <?xml version="1.0" encoding="UTF-8"?>
    <hash>
      <foo type="integer">1</foo>
      <bar type="integer">2</bar>
    </hash>
XML

hash = Hash.from_xml(xml)
# => {"hash"=>{"foo"=>1, "bar"=>2}}

Hash - Ruby on Rails

答案 1 :(得分:0)

尝试使用Nokogiri gem。它非常易于使用,网站上有一些很好的例子。

require 'open-uri'
doc = Nokogiri::HTML(open("myAPIurl.com&show=storeID,name"))

然后,您可以使用xpath或css选择器查​​询文档。然后它返回一个NodeSet,你可以像对数组

一样迭代

希望有所帮助