Это может дать вам толчок к началу:
#!/usr/bin/env ruby
require 'nokogiri'
XML = %{<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<people-search>
<people total="108" count="10" start="0">
<person>
<id>tePXJ3SX1o</id>
<first-name>Bill</first-name>
<last-name>Doe</last-name>
<headline>Marketing Professional and Matchmaker</headline>
<picture-url>http://media.linkedin.com:/foo.png</picture-url>
</person>
<person>
<id>pcfBxmL_Vv</id>
<first-name>Ed</first-name>
<last-name>Harris</last-name>
<headline>Chief Executive Officer</headline>
</person>
</people>
<num-results>108</num-results>
</people-search>}
doc = Nokogiri::XML(XML)
doc.search('//person').each do |person|
firstname = person.at('first-name').text
puts "firstname: #{firstname}"
end
# >> firstname: Bill
# >> firstname: Ed
Идея в том, что вы перебираете секцию, которая повторяется, в данном случае, «человек». Затем вы выбираете нужные разделы и извлекаете текст. Я использую .at () от Nokogiri, чтобы получить первое вхождение, но есть и другие способы сделать это.
На сайте Nokogiri есть хорошие примеры и хорошо написанная документация, поэтому обязательно потратьте немного времени на его изучение. Тебе должно быть легко.