0

是的,我已经阅读并重新阅读了 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");
4

1 回答 1

0

我认为问题在于您的 xml 结构。尝试在 Vcon 应答器上添加属性。或者您必须添加应答器才能准确区分每个列表。

回头见。

于 2013-11-29T15:35:05.280 回答