我有以下文档模型结构。
<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的代码示例。否则一些提示也会很棒。
我很感激!
答案 0 :(得分:2)
以下是您的需求:
@XmlElementWrapper(name="groupOfNodes")
@XmlElement(name="groupNode")
private List<GroupNode> groupNodesList;
有关JAXB和集合的更多信息,请参阅: