假设您有一个带有 type 属性的 Coin 类,如下所示:
@XStreamAlias("coin")
public class Coin {
String type;
}
你有一个包含 Coin 列表的 Coins 类:
@XStreamAlias("coins")
public class Coins{
@XStreamImplicit
List<Coin> coins = new ArrayList<Coin>();
}
注意注释。该列表是隐式的,并且 Coins 类将显示为“硬币”。
输出将是:
<coins>
<coin>
<type>Gold</type>
</coin>
<coin>
<type>Silver</type>
</coin>
<coin>
<type>Bronze</type>
</coin>
</coins>
这和你要求的不一样,但这是有原因的。
起初,硬币只有一个属性,但我们不确定您要显示的所有对象是否也只有一个属性。所以,我们需要告诉我们正在谈论的是哪个对象属性。
您还可以将 Coin 属性显示为 XML 属性,而不是字段。如下:
@XStreamAlias("coin")
public class Coin {
@XStreamAsAttribute
String type;
Coin(String type) {
this.type = type;
}
}
这是输出:
<coins>
<coin type="Gold"/>
<coin type="Silver"/>
<coin type="Bronze"/>
</coins>
希望能帮助到你。