我在配置Nokogiri时遇到了一些问题,并且他们的文档有点难以入手。
我正在尝试解析XML文件:http://www.kongregate.com/games_for_your_site.xml
该文件返回多个游戏,每个游戏都有标题、描述等信息...
<gameset>
<game>
<id>160342</id>
<title>Tricky Rick</title>
<thumbnail>
http://cdn3.kongregate.com/game_icons/0042/7180/KONG_icon250x200_site.png?21656-op
</thumbnail>
<launch_date>2012-12-12</launch_date>
<category>Puzzle</category>
<flash_file>
http://external.kongregate-games.com/gamez/0016/0342/live/embeddable_160342.swf
</flash_file>
<width>640</width>
<height>480</height>
<url>
http://www.kongregate.com/games/tAMAS_Games/tricky-rick
</url>
<description>
Help Rick to collect all the stolen fuel to refuel his spaceship and fly away from the planet. Use hammer, bombs, jetpack and other useful stuff to solve puzzles!
</description>
<instructions>
WASD \ Arrow Keys – move; S \ Down Arrow – take\release an object; CNTRL – interaction with objects: throw, hammer strike, invisibility mode; SPACE – interaction with elevators and fuel stations; Esc \ P – pause;
</instructions>
<developer_name>tAMAS_Games</developer_name>
<gameplays>24999</gameplays>
<rating>3.43</rating>
</game>
<game>
<id>160758</id>
<title>Flying Cookie Quest</title>
<thumbnail>
http://cdn2.kongregate.com/game_icons/0042/8428/icon_cookiequest_kong_250x200_site.png?16578-op
</thumbnail>
<launch_date>2012-12-07</launch_date>
<category>Action</category>
<flash_file>
http://external.kongregate-games.com/gamez/0016/0758/live/embeddable_160758.swf
</flash_file>
<width>640</width>
<height>480</height>
<url>
http://www.kongregate.com/games/LongAnimals/flying-cookie-quest
</url>
<description>
Launch Rocket Panda into the land of Cookies. With the help of low-flying sharks, hang-gliding sheep and Rocket Badger, can you defeat the all powerful Biscuit Head? Defeat All enemies of cookies in this launcher game.
</description>
<instructions>Use the mouse button!</instructions>
<developer_name>LongAnimals</developer_name>
<gameplays>168672</gameplays>
<rating>3.67</rating>
</game>
根据文档,我正在使用类似以下内容的东西:
require 'nokogiri'
require 'open-uri'
url = "http://www.kongregate.com/games_for_your_site.xml"
xml = Nokogiri::XML(open(url))
xml.xpath("//game").each do |node|
puts node.xpath("//id")
puts node.xpath("//title")
puts node.xpath("//thumbnail")
puts node.xpath("//category")
puts node.xpath("//flash_file")
puts node.xpath("//width")
puts node.xpath("//height")
puts node.xpath("//description")
puts node.xpath("//instructions")
end
但是,它只是返回无穷的数据,并且并非按照一定的集合形式。任何帮助将会很有用。