简易的JAVA处理XML工具:J2XB

原文地址:http://os.ajava.org/category/xml/%E7%AE%80%E6%98%93%E7%9A%84java%E5%A4%84%E7%90%86xml%E5%B7%A5%E5%85%B7%EF%BC%9Aj2xb/

 


一、J2XB 简介
J2XB是Java2XmlBinding的简称,提供JAVA与XML的集成功能,它可以把XML文件绑定到JAVA类型。J2XB有什么特别的地方?那就是没有难懂的JAVA代码,只用简单的代码就可以实现XML的创建、写入、读取等功能。



二、J2XB的功能特点:
1.使用JAVA代码生成XML Schema(包括Schema的所有属性)
    * XML验证(约束面, 如minLength、patterns等).
    * 置换组(允许原先定义好的元素被其他元素所替换).
    * 完全控制XML文档结构,包括Java的扁平结构和XML元素组。
    * 支持所有XML类型.
    * XML联合类型.
    * XML列表类型.

2.绑定JAVA对象到XML
    *不要求继承同一个超类。
    *无需实现任何接口。
    *不要求有一个默认的构造器。
    *若工厂提供了,不要求有一个公共的构造。
    *完全支持工厂(如静态工厂、实例工厂等)。
    *支持Java集合类型(Set, List, Array)。

3.完全支持继承
    * 映射为置换组.
    * 通过置换组完整地、精确地创建XML Schema。
    * 映射对象类型和数量到XML联合类型.

4.支持XML解析器完整的解耦,支持Apache Axiom 和 Apache XmlBeans两个默认有效的解析器,当然也可以添加其他的解析器。

三、J2XB 1.1版本的新特点
    * 新注释:MORegisterPropertyEditors 和 MORegisterPropertyEditor
    * 新注释:MOSeeAlso
    * 新注释:MOWebParam
    * 默认映射到内置Exception类型,可选择性映射到stack trace
    * J2XB的核心变化是,集成了Axis2 - 更多资料可看J2XB Axis2 module的介绍
    * 多条漏洞修复


四、J2XB实例
1.下载J2XB。
2.把J2XB添加到classpath中。
3.在你的JAVA代码中添加注释。最基本的是,你需要在任何一个需要映射的类中添加MOPersistentBean注释。
@MOPersistentBean(xmlName = "HelloWorld")
public class HelloWorld {

        private String name;
        private String type;
        private int classID;

        @MOProperty()
        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        @MOProperty()
        public int getClassID() {
                return classID;
        }

        public void setClassID(int classID) {
                this.classID = classID;
        }

        @MOProperty()
        public String getType() {
                return type;
        }

        public void setType(String type) {
                this.type = type;
        }

}

4.创建binding model.
  MoXmlBindingModel xmlBindingModel = new MoXmlBindingModel();
  xmlBindingModel.addBean(HelloWorld.class);
  xmlBindingModel.addBean(MyClass2.class);

5.产生XML Schema
xmlBindingModel.generateSchemas(new File("some folder"));

6.选择一个XML解析器。目前J2XB支持 Apache Axiom和Apache XmlBeans.你可以使用Axiom persister。
  // using the Axiom persister
  XmlPersister xmlPersister = new XmlAxiomPersister();

 或者使用XmlBeans persister (在上面的第五步需要预编译产生schemas和产生的类加入到classpath里).

7.写XML
  HelloWorld myInstance = new HelloWorld();
  xmlPersister.save(xmlBindingModel, myInstance, "c:/temp/myFile.xml");

8.读XML
  HelloWorld myInstance = xmlPersister.load(xmlBindingModel, HelloWorld.class, "c:/temp/myFile.xml");


五、下载
官方下载地址:http://sourceforge.net/project/showfiles.php?group_id=228363


六、参考资料:
主站地址:http://j2xb.sourceforge.net/index.html
API文档地址:http://j2xb.sourceforge.net/apidocs/index.html
XML Schema简介:http://ajava.org/course/xml/8548.html

七、结束语
本文对J2XB作了简单的介绍,由于本人水平有限,如发现有错误纰漏,请指正。
联系方式:
网站:http://ajava.org
QQ:76662116
EM:chinesedocument@gamil.com

八、作者简介
mark,ajava.org站长,软件工程师,从事多年软件开发,曾开发多个市级、省级、国家级软件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值