`
lelong
  • 浏览: 554775 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JAXB安装与编译器使用(转)

 
阅读更多

JAXB (Java Architecture for XML Binding) 的主要功能是根据DTD或者XML SchemaXML Element转化为Java类。将XML文本流转化为Java Object,把XML Processing转化为对类的一些属性的访问。简单的来说,它可以让你轻松解析和验证XML内容而不用去写那些繁琐的XML解析代码。

 

JAXB 包含两个部分:

1, 第一部分:JAXB包含一个编译器,它读入DTD或者XML Schema,然后生成相等结构的Java Object Model. 这些生成的object model DOMSAX这些generalAPI更有针对性,更好的反映了Schema原本的结构。这样,使对XML内容的操作变得更为简单。

2, 第二部分:是操作JAXB时的API,你通过这个API来和生成的代码交互。这个API隐藏了JAXB内部操作的实现代码并且提供了统一的基本操作(如 marshalling unmarshalling)。
marshalling : 是将一个Java Object转化成XML text的过程。
unmarshalling : 是将XML text转化成相应的Java Object的过程。

 

更多参见:http://www.oracle.com/technetwork/articles/javase/index-140168.html

JAXB安装及使用

首先从sun下载一个jaxb的压缩包,在命令行模式下,将目录转到JAXB2_20110601.jar,用命令java jar JAXB2_20110601.jar 
这样,在该目录下会生成一个文件夹jaxb-ri-20110601,文件夹中有bindocslibsamples在命令行中进入到安装目录的bin文件夹下运行xjc指令,如果不出现xjcis not recogized。。。证明安装成功 

使用xsd文件生成java类的方法 

在命令行中进入文件夹jaxb-ri-20110601目录的bin文件夹 
输入命令 
xjc -d c:\test -p com.primeton.governor.dict.xmlloader c:\test\test.xsd 
生成包放在c:\test

com.primeton.governor.dict.xmlloader生成java类的包路径 
c:\test\test.xsd  xsd文件的路径

 

 

xsd文件是多个时,而且分配在不同的目录下时,使用xjc命令生成bean文件时那个xsd文件路径的参数可以填写文件目录即可自动搜索所有xsd文件。

 

示例xsd文件:

 

Xsd代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"   
  3.             elementFormDefault="qualified"   
  4.             targetNamespace="http://www.w3school.com.cn"   
  5.             xmlns:ns1="http://www.w3school.com.cn" >  
  6.   <xs:element name="note">  
  7.     <xs:complexType>  
  8.       <xs:sequence>  
  9.         <xs:element ref="ns1:to"/>  
  10.         <xs:element ref="ns1:from"/>  
  11.         <xs:element ref="ns1:heading"/>  
  12.         <xs:element ref="ns1:body"/>  
  13.       </xs:sequence>  
  14.     </xs:complexType>  
  15.   </xs:element>  
  16.   <xs:element name="to" type="xs:string"/>  
  17.   <xs:element name="from" type="xs:string"/>  
  18.   <xs:element name="heading" type="xs:string"/>  
  19.   <xs:element name="body" type="xs:string"/>  
  20. </xs:schema>  

 

 

xml文件转换为xsd文件 
首先从sun下载一个trang的压缩包,解压缩后会有一个trang.jar的文件 
在命令行中进入trang.jar所在的目录,输入如下命令: 
java -jar trang.jar XXX1.xml XXX2.xsd 
XXX1.xml为当前文件夹目录下的xml文件,也是要转换的xml文件 
XXX2.xsd文件为转换后的xsd文件  

注意:一般情况下,只经过这个步骤转化过来的文件还不能直接使用,需要对其中的数据类型等做调整。

 

示例xml文件:

 

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
  2. <note xmlns="http://www.w3school.com.cn">  
  3.     <to>jack1</to>  
  4.     <from>tom</from>  
  5.     <heading>this is heading</heading>  
  6.     <body>this is body</body>  
  7. </note>  
分享到:
评论

相关推荐

    jaxb开发使用文档

    jaxb的使用方法可以分为两步:第一步是编写XSD文件,第二步是通过编译器(xjc XML to Java Compiler)编译生成java类,然后编写测试程序,最后给出执行结果。整个过程可以分为以下几个步骤: 1. 编写XSD文件 2. ...

    jaxb-api jaxb-impl jar

    `jaxb-impl.jar`包含了编译器工具,如`JAXBCompiler`,以及运行时支持,使得开发者能够在应用程序中直接使用JAXB服务。 在实际开发中,当处理XML数据时,我们首先会导入`jaxb-api.jar`,然后根据需求选择是否引入`...

    activation.jar jaxb1-impl.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jsr173_1.0

    5. **jaxb-xjc.jar**:这个库包含了XJC工具,它是JAXB编译器,可以将XML Schema转换为对应的Java源代码。通过XJC,开发者可以直接从XML Schema生成Java类,从而简化了处理XML数据的工作。 6. **jsr173_1.0_api.jar*...

    jaxb-api jaxb-impl jaxb-xjc jaxws-rt jar包

    了解并熟练掌握JAXB和JAX-WS的使用,对于任何Java开发者来说都是至关重要的,特别是那些涉及Web服务和XML数据交换的项目。这些技术不仅简化了开发流程,还提高了代码的可维护性和可扩展性。通过合理利用这些库,...

    jaxb2.0英文文档

    **Java Architecture for XML Binding (JAXB) 2.0** 是一个Java标准,它提供了一种将XML数据与Java对象之间进行自动转换的机制。这个技术是Java平台企业版(Java EE)的一部分,也是Java标准版(Java SE)的一个可选...

    用jaxb自动生成xsd对像

    当你需要在XML与Java类之间进行数据交换时,JAXB提供了一种自动化的机制,可以将XML Schema (XSD) 文件转换为Java类,反之亦然。这个过程被称为“绑定”或“反绑定”。 标题“用jaxb自动生成xsd对像”指的是利用...

    jaxb-impl-2.1.9.jar&jaxb-api-2.2.6.jar

    它包含了编译器工具(如`xjc`),用于将XML Schema转换为Java类,以及运行时支持,用于实际的XML序列化和反序列化操作。版本号2.1.9意味着这可能是较旧的实现,可能不包含2.2.6 API版本的所有特性。 在实际应用中,...

    api for jaxb

    在本文中,我们将深入探讨JAXB API的核心概念、工作原理以及如何使用它来实现Java对象到XML的序列化和反序列化。 **JAXB API的核心概念** 1. **Java类绑定到XML Schema**: JAXB允许用户定义Java类,这些类将直接...

    用JAXB生成一个XML

    而JAXB(Java Architecture for XML Binding)作为一项强大的技术,提供了将XML文档与Java对象模型进行双向转换的能力。本文将详细介绍如何利用JAXB来从一个XML模式(Schema)生成Java类,并最终构建出符合该模式的...

    jaxb解析xml

    2. 使用 JAXB 的 XJC 工具,通过定义 schema 的方式实现 Java 对象与 XML 的绑定。 ### 3.2 JAXB Annotation 使用说明 #### 3.2.1 @XmlType @XmlType 定义映射的一些规则,用在 class 类的注解,常与 @...

    jaxb api 2.2

    2. **绑定编译器**:`xjc`是JAXB提供的命令行工具,它可以将XML Schema转换为Java源代码。这个过程称为绑定编译,生成的Java类包含了对XML文档的解析和序列化的逻辑。 3. **注解支持**:JAXB 2.2增加了对Java注解的...

    Java XML绑定技术 (Castor JAXB XMLBeans)

    使用JAXB,可以通过简单的API调用来序列化和反序列化Java对象为XML文档,反之亦然。 **特点:** - **简单易用**:只需在Java类上添加一些注解,即可实现对象与XML之间的转换。 - **灵活性高**:支持自定义XML结构,...

    java jdk1.6 新特性 jaxb2 demo

    JAXB 2.0是Java对象与XML之间的绑定框架,相比于之前的版本,它引入了注解支持,使得无需编写XML绑定元数据,可以直接在Java类上使用注解来定义XML映射。这简化了XML数据的处理,并提高了代码的可读性和维护性。...

    数据绑定之JAXB

    10. **集成Spring框架**:在Spring应用中,JAXB可以与`MarshallingView`和`Unmarshaller` Bean配合使用,实现视图渲染和数据交换。 通过深入学习和实践以上知识点,开发者可以熟练地运用JAXB进行数据绑定,无论是在...

    JAXB jar包 工具

    Java Architecture for XML ...总的来说,JAXB是一种强大的工具,它简化了Java应用程序与XML数据的交互,使得XML处理更加便捷和高效。通过使用JAXB,开发者可以专注于业务逻辑,而不必关心底层XML的解析和构建细节。

    java源码生成-mb2g-jaxb:使用Maven从xsd文件生成Java源代码

    此外,由于生成的代码是基于标准的JAXB,因此它与其他Java XML处理库(如JAXB RI、Apache CXF等)兼容,这为项目的扩展和集成提供了便利。 总结来说,“mb2g-jaxb”是一个基于Maven的工具,它使用JAXB技术从XML ...

    java反编译器

    jackson-annotations-2.2.1.jar jackson-core-2.2.1.jar jackson-core-asl-1.8.8.jar jackson-databind-2.2.1.jar jackson-mapper-asl-1.8.8.jar jackson-module-jaxb-annotations-2.2.1.jar

    wsdl2java源码-jaxb-visitor:jaxb-访问者

    编译器生成的所有 JAXB 对象。 该插件在 bean 中产生以下变化: 将 accept(Visitor) 添加到在访问者接口上调用适当方法的每个 bean 为每个 bean 创建带有访问方法的访问者接口 创建 Traverser 接口,用于使用 ...

    maxb:XML绑定移动体系结构(MAXB)为IOS Objective-C和基于JAXB XJC的Android Java绑定编译器提供了XSD

    XML绑定移动体系结构(MAXB)为IOS Objective-C和基于JAXB XJC的Android Java绑定编译器提供了XSD。 ##注意MAXB最初是的fork。 (及相关项目: , 和 )是由开发的,2013年起一直保留。由于设计和实施都非常好,...

    jaxb2-rich-contract-plugin:实现一些JAXB插件以从XSD生成高级合同方案

    jaxb2-rich-contract-plugin 一组JAXB / XJC插件,可从XSD生成高级合同方案 当前版本:2.1.0 ... 它与-Ximmutable一起使用(请参见上文)特别有用,但与-Xconstrained-properties一起使用(请参见下文)不能一起

Global site tag (gtag.js) - Google Analytics