加入@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>
동일한 코드를 친구가 시도했는데 성공했습니다
으아아아OK
.그래서 이전 테스트
dom4j
를 찾아JAR
버전인 다음RC
패키지를 추가했는데, 테스트해보니BUG
이 있고2.0.0
버전으로 변경해도 아무런 효과가 없습니다.