我有以下文档模型结构。
<rootNode>
<node1>someValue</node1>
<node2>someValue</node2>
<groupOfNodes>
<groupNode>
<node3>someValue</node3>
<node4>someValue</node4>
</groupNode>
<groupNode>
<node3>someValue</node3>
<node4>someValue</node4>
</groupNode>
<groupNode>
<node3>someValue</node3>
<node4>someValue</node4>
</groupNode>
</groupOfNodes>
</rootNode>
我已经弄清楚如何将 node1 和 node2 映射到带注释的 POJO 并且它们工作得很好。但是,我有点坚持如何将 groupOfNodes 中的嵌套节点绑定到 groupNodes 列表。这就是我到目前为止所拥有的。我浏览了 java 文档上的可用注释列表,我发现它@XmlList
可能@XmlElementWrapper
最接近我想要的,但我不确定如何在这种情况下使用它们。当我@XmlElementWrapper
在 groupNodesList 中输入 null 时。当我输入 @XmlList 时,我得到一个异常,说这GroupNode
是一个复杂的类型,要放在@XmlList
.
@XmlRootElement(name="rootNode")
@XmlAccessorType(XmlAccessType.FIELD)
public class MyNodes {
@XmlElement(name="node1", required=false)
private String node1;
@XmlElement(name="node2", required=false)
private String node2;
//tried this for the nested nodes but groupNodesList is always empty
@XmlElementWrapper
@XmlElement(name="groupOfNodes", required=false)
private List<GroupNode> groupNodesList;
//getters setters
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupNode {
@XmlElement(name="node3", required=false)
private String node3;
@XmlElement(name="node4", required=false)
private String node4;
//getters setters
}
我应该改用 XPath 吗?如果可能的话,我希望看到一个使用标准 JAXB2 的代码示例。否则一些提示也会很棒。
我很感激!