O código abaixo acessa um XML remoto e usa o parser REXML para manipular os elementos do arquivo.
require "rexml/document"
require "open-uri"
include REXML
uri = "http://del.icio.us/rss/lupeke"
source = open(uri).read
xml = Document.new(source).root
puts "Parsing: #{xml.elements["//channel/title"].text} \n\n”
xml.elements.each("//item") { |item|
puts "#{item.elements["title"].text} \n\n”
puts “#{item.elements["description"].text} \n\n”
}
Este é apenas um exemplo. Não trata exceções e só suporta o formato RSS; o objetivo é apenas demonstrar conceitos básicos e a facililidade de uso do REXML.
Testando o script
Copie o código para sua máquina e use o interpretador para executá-lo:
$ruby /caminho/para/o/script.rb
O resultado deverá listar as informações (título e descrição) contidas no RSS.
Referência
http://www.ruby-doc.org/stdlib/libdoc/rexml/rdoc/
http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/
Olá amigo…
Fiz o teste executando o script acima e funcinou sem problema, minha unica dúvida é que o script retorna apenas o ultimo item do rss.
Já li e re-li a API do REXML mais não consigo achar algo que me retorne todos os item do arquivo XML.
Se você souber e puder me responder ficarei grato.
Até mais.
Otima Dica,
Parabéns…testei aqui de rolou sem problemas, ja me deu algumas ideias para incrementar
valeu