0

我有一个带有重复数组元素的 xml,我该如何反序列化它?

<root>
 <values>
   <val1>afa</val1>
   <val2>asgfasg</val2>
 </values>
 <values>
   <val1>hkjvlk</val1>
   <val2>sdsdgsdg</val2>
 </values>
 ...
</root>

 XStream xstream = new XStream(new DomDriver());
 xstream.alias("values", Inventory.class);
 InventoryResult inventory = (InventoryResult) xstream.fromXML(data.toString());

&

public class InventoryResult {
    private Inventory values;
}

我尝试过 List、Inventory[],但它们都不起作用。

4

2 回答 2

1

首先,这只是整个 xml 文档的一部分吗?如是

<root>
    <values>
      <val1>afa</val1>
    </values>
    <values>
      <val2>hkjvlk</val2>
    </values>
  </root>

这是序列化形式

values [] root = {new values("afa", null), new values(null, "hkjvlk")}; 

类值看起来像这样

class values{
    String val1;
    String val2;
    public values (String str, String str1){
        val1 = str;
        val2 = str1;                
    }
}
于 2012-04-12T04:07:13.030 回答
1

我建议编写自己的转换器:http: //x-stream.github.io/converter-tutorial.html

于 2012-04-12T14:11:38.150 回答