3

私は次のドキュメントモデル構造を持っています。

<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内のネストされたノードをgroupNodeのリストにバインドする方法に固執しています。これは私がこれまでに持っているものです。java docsで利用可能な注釈リストを調べたところ、それが私が望んでいるものに最も近い可能性があることがわかりましたが、このコンテキストでそれらを使用する方法がわかりません@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を使用したコード例をご覧ください。そうでなければ、いくつかのヒントも素晴らしいでしょう。

それは有り難いです!

4

1 に答える 1

2

必要なものは次のとおりです。

@XmlElementWrapper(name="groupOfNodes")
@XmlElement(name="groupNode")   
private List<GroupNode> groupNodesList;

JAXBとコレクションの詳細については、以下を参照してください。

于 2011-03-29T18:33:45.293 に答える