如何使用javaxb创建xml标记列表

时间:2017-03-29 14:13:59

标签: java xml jaxb

我需要使用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;)。

1 个答案:

答案 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;
}

我认为这不是一个干净的解决方案,但它有效! 我希望它可能有用