`
haoningabc
  • 浏览: 1477078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jibx的helloworld

    博客分类:
  • java
阅读更多
参考http://jibx.sourceforge.net/fromcode/bindgen-example1.html
下载jibx_1_2_3.zip
进入example/bindgen例子
现象就是,根据xml生成bean,操作算出总金额后,之后又转换回xml,可以比较下和xml有什么不同。
其实就是bean,生成转换文件,xml--->bean--->xml
步骤:
1.根据javabean生成class
2.更具class生成binding.xml和xsd,为bean生成xml提供基础
3.bind,根据binding.xml和xsd生成jibx的class(factory,adapter,bean对应等)
4.根据xml生成bean对象,操作完之后,还能把bean对象转换成xml

使用ant
build.xml说明:
target----->full分解一下
1.compile-----编译
    Address.java
    Customer.java
    Item.java
    Order.java
    Shipping.java
    主要是Order.java,其他类在order中
2.custgen1----->custgen
    生成bingding.xml和starter1.xsd
用来进行转换的
3.bind
    生成jibx的类
4.test
Test.java里面这样写的
package org.jibx.starter1;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Iterator;
import org.jibx.runtime.BindingDirectory;
import org.jibx.runtime.IBindingFactory;
import org.jibx.runtime.IMarshallingContext;
import org.jibx.runtime.IUnmarshallingContext;
import org.jibx.runtime.JiBXException;
public class Test
{
	/*第一个参数是输入的xml ,第二个参数是输出的xml*/
	public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("Usage: java -cp ... " + "org.jibx.starter1.Test in-file out-file");
            System.exit(0);
        }
		try {
            // unmarshal customer information from file
            IBindingFactory bfact = BindingDirectory.getFactory(Order.class);
            IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
            FileInputStream in = new FileInputStream(args[0]);
            Order order = (Order)uctx.unmarshalDocument(in, null);//Unmarshal是将xml文件转换成java对象
            // compute the total amount of the order
            float total = 0.0f;
            for (Iterator<Item> iter = order.getItems().iterator(); iter.hasNext();) {
                Item item = iter.next();
                total += item.getPrice() * item.getQuantity();
            }
            order.setTotal(new Float(total));//把bean处理了一下
			// marshal object back out to file (with nice indentation, as UTF-8)
			IMarshallingContext mctx = bfact.createMarshallingContext();
			mctx.setIndent(2);
			FileOutputStream out = new FileOutputStream(args[1]);
			mctx.setOutput(out, null);
			mctx.marshalDocument(order);//把java对象转换成xml文件
			System.out.println("Unmarshalled and marshalled order with " + order.getItems().size() + " items and total value " + total);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
            System.exit(1);
		} catch (JiBXException e) {
			e.printStackTrace();
            System.exit(1);
		}
	}
}

分享到:
评论

相关推荐

    jibx使用指南和例子

    JiBX(Java to XML Binding)是一个开源的Java库,用于将XML数据绑定到Java对象,以及反之。它提供了一种高效且灵活的方式来处理XML序列化和反序列化,相较于其他如JAXB(Java Architecture for XML Binding)等工具...

    jibx环境,代码,jdk,jar

    JiBX(Java to XML Binding eXchange)是一款强大的Java对象到XML绑定工具,它允许开发者将Java类直接映射到XML文档结构,无需编写大量的转换代码。在使用JiBX之前,首先需要确保你有一个合适的环境配置。下面将详细...

    JiBx开发入门指南

    JiBx又一个不错的xml绑定工具,和jaxb等一样,都是属于xml绑定工具。而JiBx使用java字节码enhance技术,不像jaxb等更多在于源代码生成技术。JiB的工作主要在于前期,也就是进行字节码绑定,这一部分基本上都是在...

    jibx官网下载的jar以及开发文档

    JiBX(Java to XML Binding)是一个开源项目,它提供了将Java对象直接绑定到XML的机制,无需XML Schema或XMLBeans、XStream等其他映射技术。这种绑定允许你通过简单的注解或XML配置文件来定义Java类和XML之间的转换...

    jibx实例

    JiBX(Java to XML Binding eXtensions)是一种高效的、轻量级的XML绑定框架,它允许开发者将Java对象直接映射到XML文档,反之亦然。这种技术简化了XML数据的序列化和反序列化过程,提高了开发效率,减少了代码量。...

    JiBx 1.3.1

    **JiBX 1.3.1:Java对象与XML绑定的卓越工具** JiBX(Java to XML Binding)是一个强大的开源库,它允许开发者直接将Java对象与XML数据进行绑定,极大地简化了数据序列化和反序列化的过程。1.3.1版本是这个项目的一...

    JIBX 资源包

    **JIBX(Java Inbound Bindings eXtension)**是一个开源的Java库,它提供了将XML数据绑定到Java对象以及反向操作的能力。这个资源包包含了JIBX的最新版本,旨在帮助开发者更有效地处理XML数据和对象之间的转换。在...

    jibx_1_1.zip_ji_jibx_jibx_1_1

    JiBX,全称为Java to XML Binding,是一个强大的开源框架,专为Java应用程序设计,用于实现XML数据与Java对象之间的高效、灵活绑定。这个框架的独特之处在于它可以在不修改现有Java类的情况下工作,只需通过一个映射...

    jibx资源包

    包含了jibx绑定和编译的所有jar包 bcel.jar、jibx-bind.jar、jibx-extras.jar、jibx-run.jar、 jibx-schema.jar、jibx-tools.jar、qdox.jar、stax-api.jar、 wstx-asl.jar、xpp3.jar

    jibx_1_1_5.zip_ jibx_1_1_5_www.jibx.c

    JiBX是一个强大的Java到XML绑定框架,它允许开发者将Java对象直接映射到XML文档,反之亦然。这个“jibx_1_1_5.zip”压缩包包含了JiBX库的1.1.5版本,是该工具的一个稳定发行版。JiBX的独特之处在于它的编译时绑定,...

    jibx-tools.jar

    根据javaBean对象生成xml文件,可以完成Java对象到XML的转换,Jibx对Java对象的转换相对要负责些,它不仅需要配置xml还且还要生成相应的jar文件,已经xsd文件

    jibx 1.3.1.zip

    从官网下的,方便网速不好的同学下载,从官网下的,方便网速不好的同学下载从官网下的,方便网速不好的同学下载从官网下的,方便网速不好的同学下载从官网下的,方便网速不好的同学下载从官网下的,方便网速不好的...

    jibx使用介绍

    ### jibx使用介绍 #### 一、什么是数据绑定(Data Binding) 数据绑定是一种技术,它允许应用程序通过对象模型与XML文档进行交互,并自动实现XML序列化和反序列化。这通常用于SOAP服务或其他任何需要使用XML接口的...

    maven-jibx-plugin-1.2.5.jar

    maven-jibx-plugin-1.2.5.jar

    jibx 开发指南 Jibx完成Java到XML的相互转换

    Jibx是一款强大的Java到XML数据绑定框架,它允许开发者将Java对象直接序列化为XML文档,同时也可以从XML文档反序列化回Java对象。在本文中,我们将深入探讨Jibx的使用方法,了解其如何实现Java对象与XML之间的转换,...

    axis和jibx学习

    标题“Axis2和JiBX学习”涉及到两个关键的Java技术:Axis2和JiBX。这两个工具在软件开发中,特别是在构建Web服务和对象序列化方面起着重要作用。 Axis2是Apache软件基金会开发的一个开源Web服务引擎,它是Axis1.x的...

    Jibx开发指南.pdf

    JiBX(Java Bindings to XML)是一款在Java领域使用的XML绑定框架,它的主要目的是将XML数据序列化和反序列化为Java对象,同时也支持从Java对象到XML数据的转换。它提供了一种简洁有效的方式来处理XML数据,使得...

    camel-jibx-2.8.3.jar

    jar包,亲测可用

    jibx官方资料

    JiBX(Java to XML Binding eXtensions)是一个开源项目,它提供了一种将Java对象直接绑定到XML表示的方法,无需XMLBeans或 JiBX/DTD/Schema编译步骤。这个工具使得XML序列化和反序列化变得更加简洁高效,极大地简化...

Global site tag (gtag.js) - Google Analytics