WEB开发网
开发学院软件开发Java 使用 Simple 简化 XML 序列化 阅读

使用 Simple 简化 XML 序列化

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: 清单 13. Inventory2 类publicInventory2(@ElementList(name="lures")List<AdvancedLure>lures,@Attribute(name="warehouse")Stringwa


清单 13. Inventory2 类

public Inventory2(@ElementList(name="lures") List<AdvancedLure> lures, 
 @Attribute(name="warehouse") String warehouse) { 
   this.lures = lures; 
   this.warehouse = warehouse; 
} 
 
@ElementList(name="lures") 
public List<AdvancedLure> getLures() { 
   return lures; 
} 
 
@Attribute(name="warehouse") 
public String getWarehouse() { 
   return warehouse; 
} 

注意,在指定注解作为构造器参数的一部分时,也必须指定它对应的字段名称。对于第一个参数,字段名称是 lures。对于第二个参数,字段名称是 warehouse。

然后提供 accessor 方法上面所匹配的注解和字段名称。在 lures 的 getter 方法的正上方,可以看到适当的注解,完全匹配构造器中使用的注解。类似地,warehouse 的 getter 方法上面的注解也完全匹配该注解。

要执行该代码,只需对 清单 11 稍加修改,以包含 清单 14 中的代码。


清单 14. LureExample5 类

Inventory2 inventory = new Inventory2(lures,"MidWest"); 

使用 清单 14 中的代码,而不使用 清单 11 中使用的 setter 方法。其余都保持不变。

模板过滤器

Simple 的另一个伟大特性是,在反序列化 XML 文档时能够使用模板过滤器或默认值。

回到初始的 lure.xml,但是稍微修改一下,如 清单 15 所示。


清单 15. Lure2.xml 文档

<lure type="Trolling"> 
  <company>${lure.company}</company> 
  <quantityInStock>23</quantityInStock> 
  <model>Marlin Buster</model> 
</lure> 

上一页  5 6 7 8 9 10 

Tags:使用 Simple 简化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接