我正在使用 XmlSimple,我遇到的问题是解析条目列表,确定具有类似 xml 标记的条目数。
<ItemList>
<Item>
<ItemId>123</ItemId>
<ItemName>abc</ItemName>
<ItemType>xyz</ItemType>
<Status>ok</Status>
</Item>
</ItemList>
上面被解析为 -
"ItemList"=> {
"Item"=>{ "ItemId"=>"123",
"ItemName"=>"abc",
"ItemType"=>"xyz",
"Status"=>"ok"
}
},
我以 - 的形式访问它['ItemList']['Item']['ItemId']
,在任何地方都没有任何索引号。
但是,如果 ItemList 有超过 1 个条目,那么它会弄乱我的应用程序。
<ItemList>
<Item>
<ItemId>123</ItemId>
<ItemName>abc</ItemName>
<ItemType>xyz</ItemType>
<Status>bad</Status>
</Item>
<Item>
<ItemId>456</ItemId>
<ItemName>fgh</ItemName>
<ItemType>nbv</ItemType>
<Status>bad</Status>
</Item>
</ItemList>
上面被解析为 -
"ItemList"=> {
"Item"=>{ "ItemId"=>"123",
"ItemName"=>"abc",
"ItemType"=>"xyz",
"Status"=>"bad"
},
"Item"=>{ "ItemId"=>"456",
"ItemName"=>"fgh",
"ItemType"=>"nbv",
"Status"=>"bad"
}
},
我可以访问它 -['ItemList']['Item'][0]['ItemId']
和['ItemList']['Item'][1]['ItemId']
. 手动提供索引号。但由于我不知道列表中有多少项目,我无法在实际应用程序中提供索引号,因此 xml 可能没有条目或可能有数百个条目。想过使用 Nokogiri,但它具有相同的解析行为。我该如何处理?