0
我的JAXB類是如下編組地圖類似於列表使用JAXB
@XmlRootElement
class A
{
@XmlElement(name = "bean")
List<Bean> beans;
. . .
}
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
class Bean
{
@XmlAttribute
String name;
@XmlValue
String value;
. . .
}
當我名帥數據我得到這個
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a>
<bean name="Name1">Value1</bean>
<bean name="Name2">Value2</bean>
</a>
可使用的Map<String,String>
代替List<Bean>
我實現類似的輸出?
到目前爲止,我嘗試了這樣的
@XmlRootElement
class A
{
@XmlJavaTypeAdapter(MyAdapter.class)
Map<String, String> map;
. . .
}
class BeanList
{
@XmlElement(name = "bean")
List<Bean> beans;
. . .
}
class MyAdapter extends XmlAdapter<BeanList, Map<String, String>>
{
@Override
public BeanList marshal(Map<String, String> map) throws Exception
{
. . .
}
@Override
public Map<String, String> unmarshal(BeanList list) throws Exception
{
. . .
}
}
但是這給了我輸出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a>
<map>
<bean name="Name4">Value4</bean>
<bean name="Name3">Value3</bean>
</map>
</a>
有什麼辦法避免<map>
標籤...
在這方面的任何幫助將不勝感激