JAXB实现XML和Java对象绑定

JAXB实现XML和Java对象绑定

2007-09-06 13:20 作者:陈光耀 来源:csdn
[摘要] 本文介绍了如何使用JAXB实现XML和Java对象绑定,通过XML Schema生成Java类,实现从xml数据文件生成Java对象树,以及将Java对象序列化到XML文件中。
[关键字] JAXB;XML;java对象绑定
  JAXB(Java Architecture for XML Binding, Java XML绑定架构)是一项可以根据XML Schema产生Java类的技术。该技术可以提供将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便加载XML数据,并以XML文件作为数据存储方式。

  JAXB目前最新版本为2.1.3, 大家可以到 https://jaxb.dev.java.net/ 网站去下载最新的开源版本。

  下面以一个业务字典的例子来说明JAXB的使用。

  我们的目的是将保存代码值和实际名称对应关系的业务字典数据(如“M”对应“男”,“F”对应“女”等)放在xml文件中,由java程序在运行的时候加载使用,同时也能将程序中生成的新的业务字典数据保存在xml文件中。

  具体实现步骤如下:

  1.设计出xml文件存储的格式(dict.xml), 如下: 

  
说明: 本业务业务字典支持带层次的业务字典,如国家-省-市的业务字典。

  2. 定出业务字典XML文档的Schema,dict.xsd, 如下: 


  
3.使用JAXB将Schema生成用于xml数据解析的Java类。

  到jaxb网站上下载Jaxb的最新安装包,如JAXB RI 2.1.3, 本文使用的是JAXB RI 2.0.5版本。下载后是一个安装用的jar文件,如JAXB2_20070413.jar,将其copy到d:/jaxb2目录下,运行

  java -jar JAXB2_20070413.jar

  将其解压,解压后的目录结构如下图:

  4@5l@4@11@9@11@9@5xe" filled="f" stroked="f" coordsize="21600,21600" o:spt="75" o:preferrelative="t">

  
 


  
将xsd文件拷贝到d:/temp目录下,编译schema文件:

  cd d:/jaxb2/bin

  d:/jaxb2/bin>xjc -d d:/temp/src -p com.primeton.governor.dict.xmlloader d:/temp/dict.xsd

  (注:xjc.bat 即为 java -jar jaxb-xjc.jar %*)

  在d:/temp/src目录下生成Java代码, 如下图所示:

  
 


  4.使用生成的类加载业务字典数据,假设数据dict.xml放在d:/temp目录下.

   
 


  5. 保存业务字典的内存对象到xml文件中:

    
 生成的xml文件结果为:

  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值