Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ruby中的Nokogiri中循环使用XML中的项?_Ruby_Xml_Nokogiri - Fatal编程技术网

如何在Ruby中的Nokogiri中循环使用XML中的项?

如何在Ruby中的Nokogiri中循环使用XML中的项?,ruby,xml,nokogiri,Ruby,Xml,Nokogiri,如果我有XML,我将如何循环通过搜索/events/event事件?我的意思是循环通过事件项目并将其详细信息打印到屏幕上?到目前为止,我有以下代码: get_xml('/events/search', :location => 'London, United Kingdom', :date => 'Today').at('events') get_xml是从上面的链接获取xml并选择events节点的方法。如何循环通过事件节点中的项目?您能试试这个吗 require 'rubyge

如果我有XML,我将如何循环通过
搜索/events/event
事件?我的意思是循环通过
事件
项目并将其详细信息打印到屏幕上?到目前为止,我有以下代码:

get_xml('/events/search', :location => 'London, United Kingdom', :date => 'Today').at('events')
get_xml
是从上面的链接获取xml并选择
events
节点的方法。如何循环通过
事件
节点中的项目?

您能试试这个吗

require 'rubygems'
require 'net/http'
require 'rexml/document'

# Web search for
url = 'http://api.eventful.com/rest/events/search?app_key=PbFVZfjTXJQWrnJp&location=London&date=Today'

# get the XML data as a string
xml_data = Net::HTTP.get_response(URI.parse(url)).body

# extract event information
doc = REXML::Document.new(xml_data)
doc.elements.each('search/events/event/title') do |ele|
   titles = ele.text
   p titles
end
输出:

C:\Users\vinothini\Desktop>ruby sample_nokogiri.rb
"The Ladykillers"
"The 39 Steps"
"Wotever Sex 6 August"
"Phoenix Fringe"
"The Lion King"
"One Man, Two Guvnors"
"Tutorfair event 6th Aug"
"Thriller - Live"
"The Color Purple"
"Summer School Mid-Term Party"

我是否正确理解您的要求?

是的!感谢您的帮助。-1感谢您没有使用Nokogirii而不是“来自此地址”,请给我们一个xml示例。这确保了下周url关闭时答案仍然相关。我同意@pguardiario。链接一直断开,但堆栈溢出永远存在。请提供一个简短的、经过编辑的xml示例,供您参考。他将帮助任何未来遇到类似问题的人也找到你的答案。