1

我有一个 XML 文件,其中的元素具有不同的名称但结构相似(相同的属性和子元素)。我想将 XML 文件转换为 Java 对象。我使用了@XmlAnyElement 注释,它提供了元素,但它不能转换为 Java 对象类。通过 eclipse 调试,我已经验证它是 ElementNSImpl 的形式,不能转换为 Object 类。

示例 XML 结构如下,

<element1 attr1="" attr2="" attr3="">
    <childElement1>
    <childElement2>
</element1>
<element2 attr1="" attr2="" attr3="">
    <childElement1>
    <childElement2>
</element2>

我正在使用 JAXB 注释。

4

1 回答 1

0

在 JAXB 中,Java 类对应于 XML Schema 中的复杂类型。如果element1element2具有相同的类型,则它们指的是同一类。

import javax.xml.bind.annotation.*;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Root {

    private Element element1;

    private Element element2;

}

元素

import javax.xml.bind.annotation.*;

@XmlAccessorType(XmlAccessType.FIELD)
public class Element {

    @XmlAttribute
    private String attr1;

    @XmlAttribute
    private String attr2;

    @XmlAttribute
    private String attr3;

    private String childElement1;

    private String childElement2;

}
于 2013-11-01T14:37:41.773 回答