尝试使用nokogiri和xpath导航XML文件

Madkimchi

我有一个xml文件,可以从以下网址下载:https : //www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

我想做的是浏览货币,以便可以将其保存在数据库中。

我有:

open('app/assets/forex/eurofxref-daily.xml', 'wb') do |file|
      file << open('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml').read
 end

then 

doc = File.open("app/assets/forex/eurofxref-daily.xml") { |f| Nokogiri::XML(f) }

我很难访问我感兴趣的节点以提取货币和价值。

汉斯(Mads Hansen)

我对Nokogiri并不熟悉,但是从本教程开始,您似乎可以应用以下XPath:/*/e:Cubes/e:Cube/e:Cube选择所有Cube元素。

从那里,您可以遍历每个Cube元素,然后选择它们的@currency@rate属性:

@doc = Nokogiri::XML(File.open("https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"))
@doc.xpath('/*/e:Cubes/e:Cube/e:Cube', 'e' => 'ttp://www.ecb.int/vocabulary/2002-08-01/eurofxref').each do |node|
  # do stuff
  currency = node.attr('currency')
  rate = node.attr('rate')      
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章