2013-10-29 27 views
0

是的,我已經閱讀並重新閱讀codehause教程,但似乎無法找到問題所在。我懷疑它可能與自定義轉換器有關,但在拍攝黑暗xStream到ArrayList中的XML

我有一個String成員和兩個List成員的對象,我從一個WSDL jar文件中獲得,然後讀取XML {xstream.fromXML(MYFILE)},然後將其轉換爲我的ArrayList以返回該結果,但我的問題是, listMember1和listMember2被設置爲各自的陣列,listMember1設置爲(listMember1 + listMember2)一CONCAT和listMember2保持爲空。

之前??我出的主意你見過這個... 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"); 

回答

0

我覺得麻煩的是在你的XML結構。 嘗試在Vcon應答器上放置attribut。或者你必須添加一個應答器才能準確地區分每個列表。

待會兒見。

Yann