7
votes

Parse XML Document dans Ruby

J'utilise la bibliothèque REXML.

<foo>
  <baa>value<baa>
<foo>


1 commentaires

Je suppose que votre XML est censé être " Valeur ", c'est-à-dire avec des balises de fin.


3 Réponses :


9
votes

Essayez ceci xxx

Je préfère moi-même nokogiri et hpricot gems moi-même. Vous pouvez les essayer si vous voulez.


0 commentaires

0
votes
require 'rexml/document'

xml = <<-EOS
<foo>
  <baa>value</baa>
</foo>
EOS

doc = REXML::Document.new(xml)
doc.root.elements.each("baa") { |element| p element.text }
If you want to collect values you can use to_a.map or inject instead.
See REXML::ELements.

0 commentaires

0
votes

La solution de Rishav se lancent pour moi. XXX PRE>

Voici quelques approches alternatives: P>

require 'rexml/document'

doc = REXML::Document.new DATA

doc.elements.each('//foo/baa') { |element| puts element.get_text }
baas = REXML::XPath.each(doc, '//foo/baa/text()') {|txt| p txt}
p baas

__END__
<foo>
  <baa>value</baa>
</foo>


0 commentaires