把Java对象映射成XML文档,这是Java对象持久化的一种新思路。在XML.com的一篇文章里,作者对四种主要的Java-XML映射工具进行了全面的比较: 
比较的标准主要有以下几条:(1)对XML大纲(schema)特性的支持程度;(2)生成Java代码的可用性;(3)Java-XML转换(以及反向转换)的工作情况。 
测试的结果如下。可以看到,Sun的JAXB参考实现竟然有着绝佳的表现,不论在性能还是特性集方面,都仅次于XGen,名列第二。这让我对JAXB又多了几分信心。 
  
  
 
| 
 Feature  | 
 Breeze  | 
 Castor  | 
 JAXB RI  | 
 XGen  |  
| 
 Customization Disallowed  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Package Name Mapped from Namespace  | 
  
  | 
  
  | 
  1
  | 
  
  |  
| 
 Automatic Unmarshaling  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Open Source  | 
  
  | 
  
  | 
  2
  | 
  
  |  
| 
 Free of Charge  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Schema Location Roundtrippable  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Schema Location Settable  | 
  
  | 
  3
  | 
  3
  | 
  
  |  
| 
 Schemas without a Target Namespace Supported  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Instance Validation on Unmarshal  | 
  
  | 
  
  | 
  4
  | 
  
  |  
| 
 Constraint Check of Values on Set  | 
 5  | 
  
  | 
  
  | 
  
  |  
| 
 Value Validation when Marshaling  | 
  
  | 
  
  | 
  
  | 
 5  |  
| 
 Code Generation Command Line Tool Interface  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Code Generation Programmatic Interface  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Code Generation GUI Interface  | 
  
  | 
  
  | 
  
  | 
  
  |  
| 
 Generated Code Implements Generic Interfaces  | 
  
  | 
  
  | 
  6
  | 
  
  |   
1 -- Mapped if no other package name is specified. 2-- JAXB will be available as an open source project in the upcoming future. More information can be found at http://jaxb.dev.java.net/. 3 -- Only on marshaller class. 4 -- Off by default. 5 -- Some values validated. 6 -- Interfaces based on functionality instead of type of XML Schema construct.  
 
  |