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
It does seem that everybody is into this kind of stuff lately. Dont really understand it though, but thanks for trying to explain it. Appreciate you shedding light into this matter. Keep it up