Java 是否可以有多个xmlRootElements?

Java 是否可以有多个xmlRootElements?,java,jaxb,resteasy,Java,Jaxb,Resteasy,我需要一个VO,它将表示以下XML <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个XMLROOTELEMENTS,但我需要定

我需要一个VO,它将表示以下XML

<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个XMLROOTELEMENTS,但我需要定义
&

一个XML文件不能有多个根元素,因为这将违反W3C标准。根元素是包装XML文档的各个元素的容器。
有关更多详细信息,请参见

一个XML文件不能有多个根元素,因为这将违反W3C标准。根元素是包装XML文档的各个元素的容器。
有关更多详细信息,请参见唯一的解决方案是将
@XmlRootElement(name=“ROWSET”)
更改为
@XmlRootElement(name=“ROW”)
,并发明这样的对象

@XmlRootElement(name="ROWSET")
public class Rowset{

    private List<TestVo> vos;
    [...]
}
@XmlRootElement(name=“ROWSET”)
公共类行集{
私人名单;
[...]
}

因为XML不能有多个根。

唯一的解决方案是将
@XmlRootElement(name=“ROWSET”)
更改为
@XmlRootElement(name=“ROW”)
,并发明这样的对象

@XmlRootElement(name="ROWSET")
public class Rowset{

    private List<TestVo> vos;
    [...]
}
@XmlRootElement(name=“ROWSET”)
公共类行集{
私人名单;
[...]
}

因为XML不能有多个根。

根据您的示例,我认为只有
是根元素,而
是子元素。我是否忽略了什么?请原谅我的无知-什么是VO?@DaveRlz:可能是“值对象”。这可能是从XML到POJO反序列化的一部分。@Henrick-正是。。。如何定义child?从您的示例来看,似乎只有
是根元素,而
是子元素。我是否忽略了什么?请原谅我的无知-什么是VO?@DaveRlz:可能是“值对象”。这可能是从XML到POJO反序列化的一部分。@Henrick-正是。。。如何定义子对象?兄弟一个快速一个。。马上我的输出类似于02184000 TESTINGNSNQTY O 55 5101330188 STH006N5 9BX134-505 C F 08882002如何将集合名称更改为某个自定义标签?集合是自动生成的标签。谢谢你,快一点。。马上我的输出类似于02184000 TESTINGNSNQTY O 55 5101330188 STH006N5 9BX134-505 C F 08882002如何将集合名称更改为某个自定义标签?集合是自动生成的标签。感谢DownVoting,因为建议某人阅读一个40多页的文档来解决他们的问题是毫无帮助的。一个XML文件不能有多个根元素。但是,XML模式可以在模式根下定义多个元素。这允许您验证多个XML文件或提取,其中根元素被定义为架构中的顶级元素。JAXB可能需要@XmlRootElement,因为它需要知道要封送到哪个元素名。但是,如果您有一个可以封送到多个元素的复杂类型,则必须进行选择。因此出现了ObjectFactory.Downvoting,因为建议某人阅读一个40多页的文档来解决他们的问题是毫无帮助的。一个XML文件不能有多个根元素。但是,XML模式可以在模式根下定义多个元素。这允许您验证多个XML文件或提取,其中根元素被定义为架构中的顶级元素。JAXB可能需要@XmlRootElement,因为它需要知道要封送到哪个元素名。但是,如果您有一个可以封送到多个元素的复杂类型,则必须进行选择。因此,ObjectFactory。