Java 是否可以有多个xmlRootElements?
我需要一个VO,它将表示以下XMLJava 是否可以有多个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,但我需要定
<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。