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