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

Java开源xml操作类库

2016-06-24 10:08 330 查看
Xerces

Xerces是由Apache组织所推动的一项XML文档解析开源项目,它目前有多种语言版本包括JAVA、C++、PERL、COM等。

JDOM

JDOM是一种面向Java的读、写和操作XML文档的API。JDOM 与现行的SAX 和DOM标准兼容,为Java 程序员提供了一个简单、轻量的XML文档操作方法。由于JDOM是专门为Java 程序员开发的,所以采用许多Java语言的优秀特性,比如方法重载、集合(Collections)和类映射(Reflection)。

dom4j

Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。

XOM

XOM虽然也是一种面向对象的XML API,类似于DOM 的风格,但是它有一些与众不同的特性比如严格保持内存中对象的不变性,从而使XOM实例总是能序列化为正确的XML。此外,与其他Java XML API相比,XOM 追求更简单和更正规。

JiBX

JiBX是一个为Java提供的XML数据绑定框架。它可以和现存的类一起运行,使用一个灵活的映射定义文件来决定如何将数据对象转换成XML。

KXML

KXML是一个只占很小存储空间的XML语法分析程序,对于J2ME应用程序非常适合。它有一个非常独特的DOM操作方法和被称为Pull的语法分析方法。它有以下性能:  

· 支持XML名称空间   

· 用”松散”模式分析HTML或其它SGML格式   

· 占用很少的存储空间(21 kbps)   

· 基于Pull的分析   

· 支持XML写操作   

· 可选的DOM支持   

· 可选的WAP支持

XMLBeans

XMLBeans是一个XML-Java绑定工具,利用它可以很方便地解析XML文档。Eclipse支持插件:xmlbeansplug(在线更新地址)。

jConfig

因为properties的局限性,有时候得使用XML文件来定义应用的配置参数,jConfig 正是这样一个读写XML配置文件的工具。开发者在 Java 程序中只需要使用get/set方法就能读取修改 XML 文件中的配置参数。jConfig 目前只支持两层结构,最新版本为 2.3。

XStream

XStream使用起来非常简单,不需要预先生成相关的辅助类,不需要映射文件。当然,使用简单也注定了它只能处理简单结构的 XML 文件。

XJR

一个XML的Java绑定框架,它的主要特点是不需要映射文件,用XJRDTDCompiler直接通过DTD文件生成Java文件,也可以用 XJRDTDCreator对Java类处理生成DTD文件。当然也有不足,就是还不支持Schema。

Piccolo XML Parser

Piccolo是利用java快速解析XML文档的开源项目。它实现 SAX 1, SAX 2.0.1, and JAXP 1.1 接口作为一个(Non-validating)非验证剖析器。

NanoXML

NanoXML是一个能在CLDC 环境下运行的开放源代码非确认性(不做验证工作直接进行解析)的XML 分析器。Nanoxml是一步解析器(非常小6KB的XML解析器),一次就把文档解析完并以一个树状的结构传回。

XP Parser

XP是一个Java开发的XML1.0解析器.它当前是一个非验证解析器,然而它可以解析所有外部实休:外部DTD子集,外部参数实体,普通的外部实体.

Commons-Digester

Digester基于规则的XML文档解析,主要用于XML到Java对象的映射.

NunniMJAX

NunniMJAX是一个Java非验证XML解析器。它的APIs与功能类似于SAX.这意味着你如果熟悉SAX你将很容易掌握这个解析器。

Crimson

Crimson是一个基于Java的XML解析器.它通过JAXP1.1,SAX2.0,SAX2扩展版本1.0,DOM Level 2 Core Recommendation来支持XML1.0.

JOX

JOX是一组Java类库,它使得在XML文档与Java Beans之间进行数据转换变得容易.你可以把JOX想象成Java对象序列化(Java Object Serialization)的一个种特殊形式,利用XML作为序列化的格式.

更多JOX信息

JaxMe

JaxMe是对JAXB(Java/XML绑定规范)的一种开放源代码实现。它对基本的JAXB 规范作了一些改进之外并且集成了数据库和Enterprise JavaBeans.

XMLConfigReader

XMLConfigReader是对Java ResourceBundle类的一个开源扩展.利用它可以直接从XML文件中读取配置数据并把数据存储在一个HashTable中.

JVoiceXML

JVoiceXML一个开源的VoiceXML解析器.

Woodstox

Woodstox是一个快速开源且符合StAX(STreaming Api for Xml processing)规范的XML处理器(做为一个处理器意味着它可以处理输入(相当于解析)与输出(相当于写入,序列化))。

更多Woodstox信息

xalan

xalan-java是一套xslt处理器,用来将XML文件转换为HTML,TEXT和XML等其他类型文件格式。支持XSLT1.0和XPATH 1.0版。开发人员可以通过命令行方式或在JAVA APPLET和SERVLET中使用,并可以作为自己开发的应用程序的类库使用。xalan-java实现的是transformation API for XML(TRaX)接口,此接口为jaxp1.2标准中的一部分。

XmlIO

XmlIO是一个利用SAX来解析XML然后创建Java对象并同时调用这些对象setter方法的框架.这个框架还能够把一张包含有单个根节点的Java对象图序列化成XML格式的字符串。

VTD-XML

VTD-XML是一种新的XML处理API,它能够克服DOM和SAX的一些问题。VTD-XML能够在内存中对XML进行快速检查并提供XPath查询支持。 在它的主页上有详细的API描述,源代码,文档和例子。

Nux

Nux是一个开源的Java工具,它能够让XML高效处理变得容易。Nux可嵌入到具有高吞吐量的XML消息中间件中比如:大型p2p底层结构,消息队列,发布-订阅和Blogs/新闻聚合的matchmaking系统,分布式系统,防火墙等.Nux集成并扩展XOM,Saxon和Lucene这些优秀的开源组件包以提供XQuery/XPath,全文本搜索等功能。

StAX

StAX(Streaming API for XML)是标准的XML处理API,它能够从应用程序的stream对象解析XML数据或把XML数据转换成stream对象。StAX是一个用Java实现的XML拉式解析器。

Skaringa

Skaringa提供一个类库实现Java object与XML文档的相互转换,并能够为Java class生成XML schema定义。

X2JB

X2JB是一个Java开发类包用于把XML映射成Java实体。实际上它与JAXB、XML Beans、Jakarta Commons Digester 等相似但没有它们复杂。X2JB使用注释(annotation)来映射XML元素和元素属性。

Smooks

Smooks用于处理XML与非XML(CSV,EDI,Java等)的一个Java框架与引擎。Smooks能够用于各种数据格式的转换:XML to XML,CSV to XML,EDI to XML,XML to EDI,XML to CSV,Java to XML,Java to EDI,Java to CSV,Java to Java,XML to Java,EDI to Java等。

WAX

WAX是一个用于创建大型XML文档的高效工具。与其它XML操作类库(如JDOM)相比,它占用的内存比较少。创建XML所需要的代码也比较少。只关注创建功能,而没有读取/解析功能。整个类库只有12K左右。特别适合用于创建基于REST或SOAP Web Service的请求与响应信息。

Simple framework

Simple是一个高性的XML序列化和配置框架。它提供完整的对象序列化与反序列化功能,并能够保持它们的关联关系。Simple与C#的XML序列化相似,但增加了拦截和操作等功能。

@Root
public class Example {
@Element
private String text;
@Attribute
private int index;
public Example() {
super();
}
public Example(String text, int index) {
this.text = text;
this.index = index;
}
public String getMessage() {
return text;
}
public int getId() {
return index;
}
}
Serializer serializer = new Persister();
Example example = new Example("Example message", 123);
File result = new File("example.xml");
serializer.write(example, result);

xmlzen


Light-weight是一个Java工具用于解析XML和DOM构建。

Xmappr

Xmappr提供一种非常简单的方式来处理XML,可以将任意XML与Java类相映射。映射通过注释或外部配置实现。可以缓存未映射元素,保持XML元素顺序。可以自定义类型转换器,线程安全(设计用于多线程使用),没有依赖第三方类库。整个类库大小只有80kb。

Xmapper xm = new Xmapper(Root.class);
Root root = (Root) xm.fromXML(reader);


Moose

Moose是一个Java框架能够将Java对象序化成XML,或反过来利用XML生成Java对象。它力求让该框架易于使用,轻量并能够满足各种不同的开发方式。Moose包括支持生成Spring Web Services,XSD schema。

nbxml

nbxml是一个采用Java开发的非阻塞XML解析器。

EDIReader

EDIReader能够解析从ANSI X12和EDIFACT输入的EDI数据,包括兼容HIPAA的文档。它支持Java JAXP/SAX XML接口,包含一个“XML“解析自定义实现,能够利用XML工具访问EDI数据。

core4j

core4j是一个简约的XML框架。

Staxmate

Staxmate是Stax(JSR-173)XML处理器的一个轻量级封装如Woodstox,目的是为了让他们的使用更简单和方便。

收录时间:2011-05-11 13:42:46

更多Staxmate信息

XMLNodeParser

XMLNodeParser是一个非常轻量级的Java类库用于解析XML-Strings。此外它还提供一个可在手机开发中(JME)使用的轻量级的SOAP-Client。

CoffeeDOM

CoffeeDOM是JDOM的一个分支,它主要是对JDOM进行更新,让其支持Java5新增的一些特性如:泛型,可变返回类型(用于clone(), detach()和getParent()),枚举, for-each循环(用于getDescendants()),和新增的类如StringBuilder(来代替StringBuffer)。CoffeeDOM还除去了JDOM的检查异常 JDOM是一种解析XML的Java工具包。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: