请在下面标记如何使用 JAxb 创建 xml 文件。就像相同的序列输出我没有得到。在数据节点中我想要文本,一个图像再一个文本节点
<data>
<text>
hello
</text>
<image name="b99d.png">Imagefile name</image>
<text>
world
</text>
</data>
您需要将图像和文本数据存储在一个List
. 完成此操作后,有几个选项。
选项1
你可以使用@XmlElements
public class Data {
@XmlElements({
@XmlElement(name="text", type=String.class),
@XmlElement(name="image", type=Image.class)
})
public List<Object> getTextAndImages() {
return textAndImages;
}
}
了解更多信息
选项 #2
您还可以利用单个@XmlAnyElement(lax=true)
属性上的注释来映射此用例。该属性的内容将是和的实例。 List
List
Text
Image
@XmlRootElement
@XmlSeeAlso({Image.class, Text.class})
public class Data {
@XmlAnyElement(lax=true)
public List<Object> getTextAndImages() {
return textAndImages;
}
}
这些类中的每一个都需要用 注释@XmlRootElement
。在创建和类的映射时,@XmlValue
注释将很有用。Text
Image
@XmlRootElement
public class Text {
@XmlValue
public String getValue() {
return value;
}
}
了解更多信息