XSTREAM阵列转换器

时间:2010-12-14 06:03:58

标签: java xml xstream

我想将下面的XML转换为对象。我

<authentication>
    <name>Reese Rideout</name>
    <shows type="array">
        <show>stage</show>
        <show>youtube</show>
    </shows>
</authentication>

我有一个带有List&lt; Show&gt;的Authentication类显示。我相信我需要使用阵列转换器。但是,我不明白如何使用它,也没有找到任何文件。

请建议我如何将其解析为对象图。

2 个答案:

答案 0 :(得分:3)

这就是我解决这个问题的方法:

xstream.alias("shows", Shows.class);
xstream.alias("show", String.class);

并将Shows.shows字段设置为隐式集合:xstream.addImplicitCollection(Shows.class, "shows");

答案 1 :(得分:2)

对于

 <authentication>
      <name>Reese Rideout</name>
      <shows type="array">
         <show>stage</show>
         <show>youtube</show>
       </shows>
    </authenticatoin>

你可以

class Authentication{
String name;
List<Show> shows;
}

class Show{
List<String> show;
}

您必须使用aliasing

xstream.alias("authentication", Authentication.class);
xstream.alias("Show", Show.class);