我正在开发一个项目,使用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”类型的奇数值的代码?
感谢。
此致 荫
答案 0 :(得分:0)
试试这个。它可能对你有用
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"