我正在调用服务,并且得到以下格式的XML响应。

如何从此响应中的单个键下检索多个值?
我想将所有值存储在List<String>

<p700:item xmlns:p700="http://abc.test.com">
    <p700:key xsi:type="xsd:string">Key1</p700:key>
    <p700:value xsi:type="xsd:string">Value1</p700:value>
    <p700:value xsi:type="xsd:string">Value2</p700:value>
    <p700:value xsi:type="xsd:string">Value3</p700:value>
    <p700:value xsi:type="xsd:string">Value14</p700:value>
</p700:item>
<p700:item xmlns:p700="http://abc.test.com">
    <p700:key xsi:type="xsd:string">Key1</p700:key>
    <p700:value xsi:type="xsd:string">Value1</p700:value>
    <p700:value xsi:type="xsd:string">Value2</p700:value>
</p700:item>

最佳答案

Guava具有Multimap接口和ListMultimap实现,它是键到列表结构(与集合或排序集合相对)中包含的多个值的映射。本质上是一个Map<K, Collection<V>>。您还可以找到示例here。至于实际解析XML,SO上对此有很多疑问,您可以从this one开始。

关于java - Hashmap-单键,多个值-如何检索?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12784535/

10-13 07:17