我需要使用javaxb创建xml文件的以下部分:
<tag> ..... </tag>
<foto_1> ... </foto_1>
<foto_2> ... </foto_2>
<foto_3> ... </foto_3>
<foto_4> ... </foto_4>
.....
标签是动态的,因此它可以是1到15之间的数字。 我问接收器是否可以制作标签列表,但事实并非如此!
是否可以在javaxb中创建这种类型的列表? 或者更好,我不知道写什么 - &gt; getter方法的@XmlElement(name =&#34;&#34;)。
答案 0 :(得分:0)
找到一个带有@ XmlAnyElement-annotated属性的解决方案,该属性将元素作为JAXBElements返回:
private List<Foto> foto = ...;
@XmlAnyElement
public List<JAXBElement<Foto>> getFoto() {
List<JAXBElement<Foto>> elements = new ArrayList<JAXBElement<Foto>>();
for (Foto current : foto )
elements.add(new JAXBElement(new QName("foto_" + current.getValue(),
Foto.class, current);
return elements;
}
我认为这不是一个干净的解决方案,但它有效! 我希望它可能有用