使用rexml获取相同的属性值

时间:2015-07-29 17:35:59

标签: ruby-on-rails xml amazon-web-services rexml

快速提问。

假设你有一个xml:

<ItemAttributes>
  <Author>John Green</Author>
  <Author>David Levithan</Author>
  <Binding>Hardcover</Binding>
  <Brand>Dutton Juvenile</Brand>
  <EAN>9780525421580</EAN>
</ItemAttributes>

我正在使用rexml来解析它。获取相同属性的值时,我被卡住了。当我这样做时:

doc              = REXML::Document.new(xml_data)
doc.elements['ItemAttributes/Author/'].each do |element|
  logger.info(element)
end 

它只给我第一个属性值,即John Green。如何获取相同属性的第二个值(&#39;作者&#39;)。我试过做&#39; *&#39;但也没有用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

doc.elements.each("ItemAttributes/Author") do |author|
  logger.info(author.text)
end