请低于标签如何使用JAxb创建xml文件。喜欢相同的序列输出Iam没有得到。在数据节点我想要文本,一个图像再一个文本节点
<data>
<text>
hello
</text>
<image name="b99d.png">Imagefile name</image>
<text>
world
</text>
</data>
答案 0 :(得分:1)
您需要将图像和文本数据存储在一个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;
}
}
了解更多信息