使用 Simple 简化 XML 序列化
2010-01-08 00:00:00 来源:WEB开发网清单 8 和 清单 2 之间最大的差别是,您在 AdvancedLure 对象中实例化了一个 ConfigurationScheme 对象并设置了适当的字段。
运行该代码,输出应该类似于 清单 9。
清单 9. LureExample3 的输出
<advancedLure type="Trolling">
<company>Donzai</company>
<quantityInStock>23</quantityInStock>
<model>Marlin Buster</model>
<configurationScheme>
<color>Blue</color>
<size>3</size>
</configurationScheme>
</advancedLure>
可以看到,嵌套的元素与预期那样地被序列化。
枚举
XML 文档经常包含某些元素的枚举。也就是说,相同的元素名称可以重复,只不过带有不同的子元素或属性数据而已。幸运的是,Simple 也能够处理这种情况。
为了演示该特性,我们创建一个新的类,名叫 Inventory,其中包含仓库(储存库存的地方)的名称和在该库存位置找到的鱼饵的列表,如 清单 10 中所示。
清单 10. Inventory 类
@Root
public class Inventory {
@ElementList
private List<AdvancedLure> lures;
@Attribute
private String warehouse;
注意,使用了一个新注解:@ElementList。该注解告诉 Simple 框架:相应的 List 对象代表 XML 元素的枚举。
用于演示该 POJO 的序列化的代码跟用于序列化更简单的 POJO(比如说 清单 2 中序列化的那个 POJO)的代码一样容易。唯一增加的复杂性来自于,为嵌套目的实例化了所有必需的对象。参见 清单 11。
更多精彩
赞助商链接