加入@XmlElement(name="extendInfo")不报错了,但xml转为对象时,key和value设值不进去,对象转xml没问题。解析为xml可以,xml转为对象报错。报错截图不方便贴出来在unmarshaller.unmarshal()报空指针异常,报错不友好,可能贴出来也效果不大。 /* 总的xml类 */ public class Document { //... 其它字段及其get,set方法 private List<ExtendInfo> extendInfo; //只要加上这个解析XML为对象就报错,但对象解析为xml没问题 @XmlElementWrapper(name="extendInfos") @XmlElement(name="extendInfo") //加上这个就不报错了 public List<ExtendInfo> getExtendInfo() { return extendInfo; } public void setExtendInfo(List<ExtendInfo> extendInfo) { this.extendInfo = extendInfo; } } @XmlType(propOrder={"key", "value"}) public class ExtendInfo { private String key; private String value; @XmlAttribute public String getKey() { return key; } public void setKey(String key) { this.key = key; } @XmlAttribute public String getValue() { return value; } public void setValue(String value) { this.value = value; } } //XML: <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <document> <!-- 其它的标签 --> <extendInfos> <extendInfo key="k1" value="v1"/> <extendInfo key="k2" value="v2"/> </extendInfos> </document>
添加回答
举报
0/150
提交
取消