是的,我已经阅读并重新阅读了 codehause 教程,但似乎无法找出问题所在。我怀疑这可能与自定义转换器有关,但在我在黑暗中拍摄之前需要一些清晰度。
我有一个包含字符串成员的对象和两个从 WSDL jar 文件中获得的列表成员。我阅读了 XML { xstream.fromXML(MYFILE)
} 然后转换为我的 ArrayList 以返回。这很好用,但我的问题是,listMember1 和 listMember2 没有设置为它们各自的数组,而是将 listMember1 设置为 (listMember1 + listMember2) 的连接,而 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");