如何使用XmlAttribute值来确定存储XmlElement值的位置?

时间:2015-11-17 00:11:22

标签: java xml annotations

我的XML文件如下所示:

<root>
    <element attribute="valueA">one</element>
    <element attribute="valueB">two</element>
    <element attribute="valueC">three</element>
</root>

我有这个Java类:

public class Vals {
    public String valueA;
    public String valueB;
    public String valueC;
}

我想通过这样的方式将XML数据绑定到Vals:

public class Vals {
    @XmlElement(name="element", @XmlAttribute(name="attribute", value_of_attribute="valueA"))
    public String valueA;
    @XmlElement(name="element", @XmlAttribute(name="attribute", value_of_attribute="valueB"))
    public String valueB;
    @XmlElement(name="element", @XmlAttribute(name="attribute", value_of_attribute="valueC"))
    public String valueC;
}

显然,这是非法的,但我希望它能说明我要做的事情:使用注释将XML中的数据解组到Java类字段,其中XmlAttribute值确定存储XmlElement值的位置。

1 个答案:

答案 0 :(得分:0)

一种方法是从示例XML文件生成XSD(xml架构)(例如,使用Trang转换器),然后使用XJC工具从XSD生成初始绑定Java类。