【问题标题】:Selecting the attribute value of XML file with Nokogiri使用 Nokogiri 选择 XML 文件的属性值
【发布时间】:2015-03-04 04:44:32
【问题描述】:

我正在做一个项目,用 nokogiri 将 xml 文件解析为特定的表结构。目前我在控制器中得到了这个:

def new
  doc = Nokogiri::HTML(open('sample3.xml'))
  @home = doc.xpath('//match').map do |i|
  {'title' => i.at('home')['name'], 'away' => i.at('away')['name']}
  end
end

这是 XML 文件的格式:

<league country="worldcup" cup="True" id="2889" name="World: World Cup" sub_id="63638038137">
<matches date="12.06.2014">
<match alternate_id="3844428" alternate_id_2="4013768" date="12.06.2014" id="3551903" status="20:00" time="20:00">
<home alternate_id="536380381512" id="2338917" name="Brazil"/>
<away alternate_id="536380381513" id="2340076" name="Croatia"/>
<odds>
<type id="766" name="1x2">
<bookmaker id="947" name="12Bet">
<odd name="1" value="1.27"/>
<odd name="2" value="9.56"/>
<odd name="X" value="5.32"/>
</bookmaker>
<type id="767" name="Home/Away">
<bookmaker id="821" name="188Bet">
<odd name="1" value="1.04"/>
<odd name="2" value="8.50"/>
</bookmaker>
</type>
</odds>
</match>
</matches>
</league>

我上面的代码可以选择主队和客队。但是如何编写选择 name="1x2" 类型的奇数值的代码呢?

谢谢。

问候, 山药

【问题讨论】:

    标签: ruby-on-rails xml nokogiri


    【解决方案1】:

    试试这个。它可能对你有用

    f = File.open("sample3.xml")
    => #<File:sample3.xml>
    >> doc = Nokogiri::XML(f)
    root = doc.root
    >> # again here you'll see the complete XML document output to the console.
    >> root["id"]
    => "2889"
    

    Documentation

    【讨论】:

      猜你喜欢
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多