3

我正在尝试使用 JAXB 输出以下 XML:

<ScreenData step="1" description="My descriotion">
    <element name="name1" type="type1" value="value1"/>
    <element name="name2" type="type2" value="value2"/>
</ScreenData>

为此,我使用以下代码:

screenData.getElement().add(element);
        element.setName("name1");
        element.setType("type1");
        element.setValueAttribute("value1");

        screenData.getElement().add(element);
        element.setName("name2");
        element.setType("type2");
        element.setValueAttribute("value2");

这就是输出:

<ScreenData step="1" description="My First XML">
                <element name="name2" type="type2" value="value2"/>
                <element name="name2" type="type2" value="value2"/>
            </ScreenData>
4

2 回答 2

3

您需要确保创建单独的Element. 目前,您似乎要添加两次相同的实例。

    Element element1 = new Element();
    screenData.getElement().add(element1);
    element1.setName("name1");
    element1.setType("type1");
    element1.setValueAttribute("value1");

    Element element2 = new Element();
    screenData.getElement().add(element2);
    element2.setName("name2");
    element2.setType("type2");
    element2.setValueAttribute("value2");

了解更多信息

于 2012-08-27T20:07:12.670 回答
0

您必须创建一个集合或一个列表。

    List<MyClass> l= new ArrayList<MyClass>();

    myClass = new MyClass();
    myClass.setAttr("attr1");

    l.add(myClass);

    myClass2 = new MyClass();
    myClass2.setAttr("attr2");

    l.add(myClass2);
于 2012-08-27T20:07:58.630 回答