小编che*_*tan的帖子

使用JAXB解组具有不同/动态名称的元素

我正在解析一个包含如下节点的XML文档:

<objects>
  <dog>
    <data1>...</data1>
    <data2>...</data2>
    <data3>...</data3>
  </dog>
  <cat>
    <data1>...</data1>
    <data2>...</data2>
    <data3>...</data3>
  </cat>
</objects>
Run Code Online (Sandbox Code Playgroud)

元素data1,data2,data3始终是一致的.只有父标签有所不同.在我的对象模型中,我有一个Object,它代表所有这些情况.如何在不事先知道元素名称的情况下让JAXB处理这种情况?

@XMLAnyElement匹配所有对象,但不创建适当类型的对象; 我得到一个Node对象列表而不是我的对象.我的对象目前看起来像:

public class MyObject {
    protected String otherData;

    @XmlAnyElement
    @XmlElementWrapper(name = "objects")
    protected List<MyChildObject> childObjects;
}

public class MyChildObject {
    protected String data1;
    protected String data2;
    protected String data3;
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何处理这种情况不会改变传入的XML格式使用<object type="dog">元素?

java xml orm serialization jaxb

7
推荐指数
1
解决办法
6645
查看次数

标签 统计

java ×1

jaxb ×1

orm ×1

serialization ×1

xml ×1