我正在尝试将带有Nokogiri的XML转换为哈希:
<eveapi version="2">
<currentTime>2016-05-01 11:38:14</currentTime>
<result>
<characterID>93898118</characterID>
<characterName>Ghitzarai</characterName>
<race>Minmatar</race>
<bloodlineID>4</bloodlineID>
<bloodline>Brutor</bloodline>
<ancestryID>24</ancestryID>
<ancestry>Slave Child</ancestry>
<corporationID>98012663</corporationID>
<corporation>Dry Atomic Fusion</corporation>
</result>
</eveapi>
# asume xml is the above XML
hash = {}
xml.xpath('//result').each do |row|
hash[get_node_name:] = row.content
end
现在row.name
无效,因为只返回result
一次。
如何从子节点获取正确的名称?
答案 0 :(得分:2)
&#34;现在
row.name
不会工作因为只返回一次结果。如何从子节点获取正确的名称?&#34;
在/*
之后添加result
以获取所有子元素<result>
,无论子元素名称如何:
xml.xpath('//result/*').each do |row|