我需要一个代表以下XML的VO
<ROWSET>
<ROW>
<ORDER_NUM>5101330188</ORDER_NUM>
<LINE_NUM_SEQ>55</LINE_NUM_SEQ>
<PROD_NUM_REQ>9BX134-505</PROD_NUM_REQ>
</ROW>
</ROWSET>
如何定义2个表示Rowset和Row的xmlRootElements?我的VO是这样的:
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "ROWSET")
public class TestVo {
String ORDER_NUM;
String LINE_NUM_SEQ;
String PROD_NUM_REQ;
@XmlElement
public String getLINE_NUM_SEQ() {
return LINE_NUM_SEQ;
}
public void setLINE_NUM_SEQ(String lINE_NUM_SEQ) {
LINE_NUM_SEQ = lINE_NUM_SEQ;
}
@XmlElement
public String getORDER_NUM() {
return ORDER_NUM;
}
public void setORDER_NUM(String oRDER_NUM) {
ORDER_NUM = oRDER_NUM;
}
@XmlElement
public String getPROD_NUM_REQ() {
return PROD_NUM_REQ;
}
public void setPROD_NUM_REQ(String pROD_NUM_REQ) {
PROD_NUM_REQ = pROD_NUM_REQ;
}
}
我不能拥有2个XMLROOTELEMENTS,但我需要定义<ROWSET>
&amp; <ROW>
。
答案 0 :(得分:4)
唯一的解决方案是将@XmlRootElement(name = "ROWSET")
更改为@XmlRootElement(name = "ROW")
并发明像这样的对象
@XmlRootElement(name="ROWSET")
public class Rowset{
private List<TestVo> vos;
[...]
}
因为XML不能有多个根目录。
答案 1 :(得分:0)
XML文件不能有多个根元素,因为它违反了W3C标准。根元素是打包XML文档的各个元素的容器。 有关详细信息,请关注w3c standards