0

はい、コードハウスのチュートリアルを読み直しましたが、何が問題なのか特定できません。カスタム コンバーターに関係しているのではないかと思いますが、暗闇で撮影する前に、ある程度明確にしておきたいと思います。

String メンバーを持つオブジェクトと、WSDL jar ファイルから取得した 2 つの List メンバーがあります。XML { xstream.fromXML(MYFILE)} を読み取り、ArrayList にキャストして返します。それはうまくいきますが、私の問題は、listMember1 と listMember2 がそれぞれの配列に設定されるのではなく、listMember1 が (listMember1 + listMember2) の連結に設定され、listMember2 が null のままであることです。

これ見たことある??私はアイデアがありません... thx

以下にいくつかの XML を示します。

<root>
 <VCon>
    <Role>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Role>
    <Role>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Role>
    <Role>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Role>
    <Method>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Method>
    <Method>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Method>
 </VCon>
 <VCon>
    <Role>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Role>
    <Role>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Role>
    <Role>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Role>
    <Method>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Method>
    <Method>
      <fname>steve</fname>
      <lname>jobs</lname>
    </Method>
 </VCon>
</root>

私の xStream エイリアスのコードは次のとおりです。

xstream.alias("listMember1", Role.class);
xstream.addImplicitCollection(VCon.class, "listMember1");

xstream.alias("listMember2", Method.class);
xstream.addImplicitCollection(VCon.class, "listMember2");
4

1 に答える 1

0

問題はxml構造にあると思います。Vcon balise に属性を付けてみてください。または、各リストを正確に区別するために balise を追加する必要があります。

また後で。

ヤン

于 2013-11-29T15:35:05.280 に答える