您的位置:首页 > 编程语言 > Java开发

简易的JAVA处理XML工具:J2XB

2009-06-16 15:01 405 查看
原文地址: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站长,软件工程师,从事多年软件开发,曾开发多个市级、省级、国家级软件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: