1

.NETアプリケーションで生成および使用されるxmlファイルを使用しています。

このファイルをJavaで逆シリアル化する必要があり、JAXBを使用することを選択しました。

しかし、一致するクラスを作成しようとした後、私は1つの大きな違いを理解しました。

持っているとき

@XmlRootElement
public class SomeClass{ 
    List<NestedClass> classes;
}

次の構造になります。

 <SomeClass>
        ...
        <NestedClasses>
        ...
        </NestedClasses>
        <NestedClasses>
        ...
        </NestedClasses>
    </SomeClass>

必要な既存の構造とは異なり、次のようになります。

<SomeClass>
        ...
        <NestedClasses>
          <NestedClass>
          ...
          </NestedClass>
          <NestedClass>
          ...
          </NestedClass>
        </NestedClasses>
    </SomeClass>

ネストされたクラスのリストのみを含むクラスを追加せずに、必要な構造を取得する方法はありますか?

4

1 に答える 1

0

コレクションをラップするクラスが必要になります。目的のマッピングを取得するには、@XmlElementWrapper注釈を使用して、グループ化要素を使用するように指定できます。次に、注釈を使用し@XmlElementて、コレクション内のアイテムを表す要素の名前を指定できます。

@XmlRootElement
public class SomeClass{ 
    @XmlElementWrapper
    @XmlElement(name="NestedClass")
    List<NestedClass> classes;
}

詳細については

于 2012-06-28T13:16:40.087 に答える