使用 rexml 获取相同的属性值
Get same attribute values with 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。如何获得同一属性的第二个值('Author')。我也试过做 '*' 但没有用。
有什么想法吗?
试试这个:
doc.elements.each("ItemAttributes/Author") do |author|
logger.info(author.text)
end
快速提问。
假设你有一个 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。如何获得同一属性的第二个值('Author')。我也试过做 '*' 但没有用。
有什么想法吗?
试试这个:
doc.elements.each("ItemAttributes/Author") do |author|
logger.info(author.text)
end