我有一个如下的XML

<rootElement>
    <element1>data</element1>
    <element2 attribute1="value1" attribute2="value2">
        <inner_element>2</inner_element>
    </element2>
</rootElement>


映射如下:

public class RootElement{
    @XmlElement(name = "element1")
    String elem1;
    @XmlElement(name = "element2")
    Element2 element2;
}

public class Element2{
    @XmlAttribute(name = "attribute1")
    String attr1;
    @XmlAttribute(name = "attribute2")
    String attr2;
    @XmlAnyElement(lax=true)
    Object value;
}


我想允许用户在<inner_element>中输入任何类型的值(字符串,整数,双精度)。

在Java中,我可以读取其他元素<element1><element2>,但是,我将value作为null。知道我该怎么做吗?

最佳答案

在InnerElement类上尝试使用@XmlValue而不是@XmlAnyElement。
也解析为String而不是Object

09-30 18:47