@XmlAnyElement仅使用第一个元素

时间:2013-03-08 12:23:35

标签: xml jaxb unmarshalling

我有一个XML文档,其中包含一个Car ojects列表。在每个汽车对象中都有一个Person对象,如下所示:

<Cars>
    <Car id=1>
        <Owner>
            <Name>
              John Blogs
            </name>
         </owner>
    </Car>
    <Car id=2>
        <Owner>
            <Name>
              Mary Murphy
            </name>
         </owner>
    </Car>
</Cars>

我想将此文件解组如下:

class Car{
    private String owner; 

    @XmlAnyElement(OwnerHandler.class)
    public String getOwner() {
        return owner;
    }
}

我被告知要实现DomHandler接口,我已经做到了。现在的问题是我的unmarshalled对象都使用John Blogs这个名称 - 代码总是找到并使用名字。如果我有多重Car对象,这不行。

有人可以建议修复此问题吗? @XmlPath会起作用吗?

我尝试了所有我能想到的东西。

1 个答案:

答案 0 :(得分:1)

我使用了Eclipse MOXy的@XmlPath属性,它起了作用。

相关问题