英文:
Xstream - Remove ArrayList elements name
问题
我有一个类似的类:
class Account{
List<String> information;
}
XStream序列化成XML如下所示:
<information>
<string>This is sample Info 1</string>
</information>
我希望XML看起来像这样:
<Information>
This is sample Info 1
</Information>
所以我尝试使用:
xStream.aliasAttribute(Account.class,"information","Information");
现在我的输出XML如下所示:
<Information>
<string>This is sample Info 1</string>
</Information>
如何摆脱XML中的<string>
?
英文:
I have a class like
class Account{
List<String> information;
}
XStream serializes to XML that looks like:
<information>
<string>This is sample Info 1</string>
</information>
I wanted the XML like:
<Information>
This is sample Info 1
</Information>
so I tried using
xStream.aliasAttribute(Account.class,"information","Information");
now I have output XML as:
<Information>
<string>This is sample Info 1</string>
</Information>
How can I get rid of this <string>
in XML?
答案1
得分: 0
我知道这已经相当旧了,但也许有人会发现这个答案很有用。要做到这一点,只需在@XStreamImplicit
注解中使用itemFieldName
属性。
所以在这种情况下:
@XStreamImplicit(itemFieldName="Information")
List<String> information = Arrays.asList("Sample 1", "Sample 2");
将会产生以下的XML结果:
<Information>Sample 1</Information>
<Information>Sample 2</Information>
英文:
I know this is quite old but perhaps someone will find the answer useful. To do that simply use @XStreamImplicit annotation with itemFieldName property.
So in this case:
@XStreamImplicit(itemFieldName="Information")
List<String> information = Arrays.asList("Sample 1", "Sample 2");
Will result in following XML result:
<Information>Sample 1</Information>
<Information>Sample 2</Information>
专注分享java语言的经验与见解,让所有开发者获益!
评论