我正在调用服务,并且得到以下格式的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/