Galen King
Galen King

Reputation: 772

Parsing XML feed into Ruby object using Nokogiri?

I am pretty green with coding in Ruby but am trying to pull an XML feed into a Ruby object:

<% 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 %>

Basically, I want to iterate through each Job and output the name, description etc.

What am I missing?

Upvotes: 1

Views: 3728

Answers (1)

Mark Thomas
Mark Thomas

Reputation: 37517

Well, since you haven't shown us any sample XML, I'm going to go out on a limb and say that it is not likely the description is in an attribute. You've used the syntax to extract 'name' and 'description' attributes from the 'job' element. If instead they are nested elements you want something like this:

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

Upvotes: 5

Related Questions