【发布时间】:2016-09-22 13:49:37
【问题描述】:
我必须将 Organization 类型的一组排序对象转换为 XML 文件。 所述类型除了原始类型和字符串对象外,还包含其他引用类型对象。
以下是组织的领域:
String orgName;
double capital;
Individual generalDirector;
Investor investor;
接下来是投资者:
Individual name;
double sharesPercentage;
最后是个人:
String firstName;
String lastName;
如您所见,Organization 和 Investor 都包含对 Individual 类型对象的引用。
问题是,我需要 firstName 和 lastName 以 XML 形式显示 Organization 对象,并且只需要 lastName 对于 Investor 对象,因此完全省略 firstName 是行不通的。
我还想从输出中省略 和 标签,但将它们的内容放在单独的标签中,如下所示:
<organization>
<orgName>Dummy Solutions</orgName>
<capital>50000</capital>
<dirFirstName>Jacob</dirFirstName>
<dirLastName>Smith</dirLastName>
<investor>
<lastName>Johnson</lastName>
<sharePercentage>5.13</sharePercentage>
</investor>
</organization>
但 XStream 是通过以下方式对其进行转换的:
<organization>
<orgName>Dummy Solutions</orgName>
<generalDirector>
<firstName>Jacob</firstName>
<lastName>Smith</lastName>
</generalDirector>
<capital>50000</capital>
<investor>
<name>
<firstName>NotSpecified</firstName>
<lastName>Johnson</lastName>
</name>
<sharesPercentage>5.13</sharesPercentage>
</investor>
</organization>
我怎样才能去掉 generalDirector 和 Investor 的 name 标签而不删除它们的内容?我知道有一种方法可以用于集合,但是引用对象字段呢?
有没有办法同时显示组织中包含的个人的firstName和lastName,而不是Investor?
【问题讨论】:
标签: java xml serialization xstream