JAXB的使用(快速入门)(原创)

原创 2003年03月03日 09:27:00

        Sun推出JAXBJavaTM Architecture for XML Binding )已经有一段时间了,目前的版本是10Final)。下面让我来简单介绍一下,什麽是JAXB和怎莫使用。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

JAXB是一套自动映射XMLJava实例的开发接口和工具。

JAXB使XML更加方便的编译一个XML SCHEMA到一个或若干个JAVA CLASS。提供了如下功能:

XMLJAVA的映射,访问、更新、验证JAVA的表现,从JAVAXML的映射。

长话短说,开始正题,JAXB的使用,我们只列举从XMLJAVA的案例:

什莫? 你不知道从哪里下载所需文件,不会吧。

老大!当然是java.sun.com/xml/jaxb

首先要得到你想要转换的XML文件,我们DataSource为例,下表列举了DataSource.xml的内容:

 

<?xml version="1.0"?>

<DataSources>

  <DataSource>

      <name>oracle</name>

      <driver>oracle.jdbc.driver.OracleDriver</driver>

      <url>jdbc:oracle:thin:@localhost:1521:orcl</url>

      <username>scott</username>

      <password>tiger</password>

  </DataSource>

</DataSources>

      并且,我们还要有此XMLDTD文件(如果你不知道怎莫从DTD得到XML,或者不知道如何从XML得到DTD,请两天后再看此文),DataSource.dtd文件如下:

<?xml version='1.0' encoding="UTF-8"?>

<!ELEMENT DataSource

   (name,driver,url,username,password)

>

<!ELEMENT DataSources

   (DataSource)

>

<!ELEMENT driver

   (#PCDATA)

>

<!ELEMENT name

   (#PCDATA)

>

<!ELEMENT password

   (#PCDATA)

>

<!ELEMENT url

   (#PCDATA)

>

<!ELEMENT username

   (#PCDATA)

>

JAXB的使用还要配合一个转换规则的XML文件的使用,所以我们再根据我们的需要编写一个DataSource.xjs文件,如下所示:

      <?xml version="1.0"?>

<xml-java-binding-schema version="1.0ea">

<!-- Register a type.  This specifies that we want to use this type instead of String

     somwhere in our document. -->

<element name="DataSources" type="class" root="true" />

</xml-java-binding-schema>

你觉得很复杂嘛?不要着急,马上就结束了。

下一步就是运行如下命令了:

   java -jar %JAXB_HOME%/lib/jaxb-xjc-1.0-ea.jar DataSource.dtd DataSource.xjs -d destination_directory

你会看到在你指定的目录下,生成了我们想要的Java文件,你可以打开看看,到底是什莫东西。

OK,准备工作这就结束了。

让我们来看看如何使用我们生成的Java文件,使用前别忘了编译他们,这可是最基本的素质,我想不用我提醒了吧。

      下面是一个测试程序的片断,看看到底灵不灵:

      Datasources socks = new Datasources();

   。。。。

   File socksFile = new File("DataSource.xml");

            InputStream fin = new FileInputStream(socksFile);

            socks = socks.unmarshal(fin);

List sockList = socks.getDatasource();

好了,sockList就是我们得到的Java的对象了。你可以随意处置。我们下面把他们打印出来看一看:

   for (Iterator i = sockList.iterator(); i.hasNext();) {

            currentSock = (Datasource)i.next();

        System.out.println(currentSock.getName());

        System.out.println(currentSock.getDriver());

        System.out.println(currentSock.getUrl());

        System.out.println(currentSock.getUsername());

        System.out.println(currentSock.getPassword());

        }

OVER!

这就结束了吗?这莫简单嘛?

没错,就是这莫简单。并且运行效率还是很不错的。

 

JAXB简单入门小例子

1.在eclipse中创建JAXB工程,或者普通工程也行,只要导入相应的jar就可以了。 2.建立几个普通的JavaBean对象,不过这些JavaBean对象要做一些相应的处理(不要忘了打标价哦,下...
  • java_min
  • java_min
  • 2012年06月01日 09:59
  • 1717

JAXB的使用(快速入门)(原创)

版权声明:觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐(额,就是文章底部的“顶”啦),要是嫌弃麻烦呢,也麻烦点个赞嘛,要是实在不想点赞呢,也不是不可以。 但是,你要是想踩一脚呢,那还是赶紧,马...
  • artaganan8
  • artaganan8
  • 2017年12月28日 20:24
  • 16

JAXB Hello World

JAXB是Java Architecture for XML Binding的缩写。使用JAXB注解将Java对象转换成XML文件。在这篇教程中,我们将会展示如何使用JAXB来做以下事情:   ...
  • czjuttsw
  • czjuttsw
  • 2013年04月06日 13:09
  • 4667

JAXB的使用(快速入门)

       Sun推出JAXB(JavaTM Architecture for XML Binding )已经有一段时间了,目前的版本是1。0(Final)。下面让我来简单介绍一下,什麽是JAXB和...
  • xiaobaolove
  • xiaobaolove
  • 2006年03月27日 11:44
  • 1865

JAXB基本使用

JAXB基本使用 JAXB主要用来实现对象和XML之间的序列化和反序列化,关于JAXB的介绍就不多说了,网上一搜一大把,这里主要总结下基本使用方法和一些注意事项 首先定义两个示例类...
  • yellowd1
  • yellowd1
  • 2015年10月31日 23:36
  • 944

聊聊Dubbox(二):简单入门

原文:http://www.jianshu.com/p/c602b347de88 0. 准备 安装注册中心:Zookeeper、Dubbox自带的dubbo-registry-simp...
  • I_will_try
  • I_will_try
  • 2017年07月27日 17:42
  • 588

【一】HttpClient4.3.1简单入门实例

1、先看一下示例代码 [java] view plaincopy public class HttpClientTest {       publ...
  • z69183787
  • z69183787
  • 2015年09月11日 14:27
  • 1135

JAXB入门教程

JAXB, 全称为 Java Architecture for XML Binding, 使用JAXB 注解可以实现java对象和xml相互转换,本文带你轻松入门,主要使用下面两个方法: 1. Mar...
  • neweastsun
  • neweastsun
  • 2016年11月30日 22:27
  • 1134

JAXB教程

简介JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档...
  • FX_SKY
  • FX_SKY
  • 2016年06月13日 19:50
  • 1677

JAXB的工作原理与基本用法

JAXB用途 1、将Java对象序列化为XML(出处) 2、将XML数据文件解析成一个Java对象(出处) JAXB的工作原理(该段文字与图片出处)     JAXB映射主要由四个部分组成:s...
  • Heroson_Chow
  • Heroson_Chow
  • 2015年09月21日 16:08
  • 1423
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAXB的使用(快速入门)(原创)
举报原因:
原因补充:

(最多只允许输入30个字)