2010-05-20 63 views
1

我非常绿色与Ruby的编码,但我想拉一个XML饲料到Ruby对象:使用Nokogiri将XML提要解析为Ruby对象?

<% doc = Nokogiri::XML(open("http://api.workflowmax.com/job.api/current?apiKey=#{@feed.service.api_key}&accountKey=#{@feed.service.account_key}")) %> 

<% doc.xpath('//Jobs/Job').each do |node| %> 
    <h2><%= node['name'].text %></h2> 
    <p><%= node['description'].text %></p> 
<% end %> 

基本上,我想通过每个Job和输出迭代的名称,说明等

我错过了什么?

+0

我会建议分离逻辑和演示文稿。您应该在Controller中进行XMl解析。你也应该把它变成asyn,因为你不知道提交请求/解析需要多长时间。 除此之外你会得到什么问题?某种错误?空白页面? – Zepplock 2010-05-20 22:52:20

+0

如果使用.content替换.text,会发生什么情况?否则能够看到XML的样本也会有所帮助 – Alistair 2010-05-22 20:43:12

回答

5

好吧,既然你还没有向我们展示任何XML示例,我将会立即断言并说它不可能是属性中的描述。您已使用语法从'job'元素中提取'name'和'description'属性。如果相反,他们是嵌套元素,你想这样的事情:

​​