Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @XMLRootElement元素或数组名称_Java_Xml_Jaxb2 - Fatal编程技术网

Java @XMLRootElement元素或数组名称

Java @XMLRootElement元素或数组名称,java,xml,jaxb2,Java,Xml,Jaxb2,我目前正在尝试将xml get响应解组到一个复杂的java对象中。这个java对象有其他类作为字段,所以它非常深入。现在,我正在使用JaxbMarshaller2来完成这项工作。到目前为止,一切进展顺利,但现在我有一个问题: 基本上,XML流中的一个标记称为“images”,它包含一个单个图像项的数组,每个图像项都包含在“item”标记中 现在,在我的根java类中,我有一个名为images的属性,它是这些图像项的列表(我为这些项创建了一个自定义类) @xmlement(name=“imag

我目前正在尝试将xml get响应解组到一个复杂的java对象中。这个java对象有其他类作为字段,所以它非常深入。现在,我正在使用JaxbMarshaller2来完成这项工作。到目前为止,一切进展顺利,但现在我有一个问题:

基本上,XML流中的一个标记称为“images”,它包含一个单个图像项的数组,每个图像项都包含在“item”标记中


现在,在我的根java类中,我有一个名为images的属性,它是这些图像项的列表(我为这些项创建了一个自定义类)

@xmlement(name=“images”)
私有列表图像;
好,现在在ProductImage类中,类名上方的XML根元素是
@XmlRootElement(name=“images”)
还是
@XmlRootElement(name=“item”)


感谢您的回复。

只有xml文件的根元素才需要
@XmlRootElement
注释。每个父项总是定义其子项的标记的名称。但是,由于根元素没有父元素,因此有一个额外的注释需要定义其名称(即
@XmlRootElement

选项1:

假设
节点是xml文件的根节点。
创建一个类
ProductImageCollection
,该类具有
@XmlRootElement(name=“images”)
注释

在这个类中应该有一个
列表
,它有一个注释
@xmlement(name=“image”)

选项2:

假设您的
节点是一个更大的xml结构的一部分,该结构已经有了正确的注释

这样就不需要任何额外的
@XmlRootElement
注释。您可以使用
@xmlementwrapper(name=“images”)
直接为列表添加注释

<images>
   <item>
      <name></name>
   </item>
   <item>
      <name></name>
   </item>
</images>
@XmlElement(name = "images")
private List<ProductImage> images;