有可能吗:
Class Qwe {
@SuperAdapter
Map<String, String> prms
}
编码后:
<qwe>
<prms>
<prm>
<name>qwe</name>
<val>zxc</val>
</prm>
<prm>
<name>tyu</name>
<val>ghj</val>
</prm>
...
</prms>
</qwe>
如果我可以访问 DOM 或插入 ram xml 部分,我可以解决这个问题。 或者告诉我最好的解决方案。 我可以通过子类解决它,但我认为这不是一个好的解决方案。
最佳答案
请参阅this post作者:布莱斯·杜安。片段:
package blog.map;
import java.util.*;
import javax.xml.bind.annotation.*;
@XmlRootElement
public class Customer {
private Map<String, Address> addressMap = new HashMap<String, Address>();
@XmlElementWrapper(name="addresses")
public Map<String, Address> getAddressMap() {
return addressMap;
}
public void setAddressMap(Map<String, Address> addressMap) {
this.addressMap = addressMap;
}
}
输出:
<?xml version="1.0" encoding="UTF-8"?>
<customer>
<addresses>
<entry>
<key>shipping</key>
<value>
<street>2 B Road</street>
</value>
</entry>
<entry>
<key>billing</key>
<value>
<street>1 A Street</street>
</value>
</entry>
</addresses>
</customer>
关于java - JAXB 适配器返回 xml 节点或原始 xml 文本而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26232916/