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

Open Source XML Parsers in Java

2008-12-16 10:08 525 查看

JDOM

JDOM is, quite simply, a Java representation of an XML document. JDOM
provides a way to represent that document for easy and efficient reading,
manipulation, and writing. It has a straightforward API, is a lightweight and
fast, and is optimized for the Java programmer. It's an alternative to DOM and
SAX, although it integrates well with both DOM and SAX.
Go To JDOM

XMLBeans

At a high level XMLBeans is an XML-Java binding tool that uses XML Schema as
a basis for generating Java classes that you can use to easily access XML
instance data in a natural manner in your Java programs. It was designed to
provide both easy access to XML information via convenient Java classes as well
as complete access to the underlying XML, combining the best of low-level APIs
like SAX and DOM that provide full access with the convenience of Java binding.
There are several factors that set XMLBeans apart from any other XML-Java
binding alternatives:

* XML Schema Compliance - XMLBeans has achieved
extremely high schema compliance and is able to compile even the most complex
schemas. This is critical when adopting an XML-Java binding framework since you
may received schemas that are out of your control.
* Access to the full
underlying XML Infoset - The XML Cursor API allows you to access a lower level
DOM like access to the underying XML Infoset. You can get a "cursor" at any
point while using the strongly typed generated XMLBeans and begin navigating the
underlying XML instance.
* Access to the schema type system - The XMLBeans
schema API allows you to walk through the schema type system giving you full
access to a Java object representation of the XML Schema that was compiled to
generate the XMLBeans classes.
* Speed - XMLBeans is optimized for
performance at many levels. For example, XMLBeans lazily constructs objects from
XML, so that you do not have the performance overhead of object creation when
you only access portions of an XML document. Several Fortune 500 customers have
adopted XMLBeans based on speed alone.
Go To XMLBeans

Xerces

The Xerces Java Parser 1.4.4 supports the XML 1.0 recommendation and
contains advanced parser functionality, such as support for the W3C's XML Schema
recommendation version 1.0, DOM Level 2 version 1.0, and SAX Version 2, in
addition to supporting the industry-standard DOM Level 1 and SAX version 1
APIs.
Go To Xerces

XOM

XOM is a new XML object model. It is an open source (LGPL), tree-based API
for processing XML with Java that strives for correctness and simplicity.
Go To XOM

Jakarta
Commons Digester

Many Jakarta projects read XML configuration files to provide initialization
of various Java objects within the system. There are several ways of doing this,
and the Digester component was designed to provide a common implementation that
can be used in many different projects. Basically, the Digester package lets you
configure an XML -> Java object mapping module, which triggers certain
actions called rules whenever a particular pattern of nested XML elements is
recognized. A rich set of predefined rules is available for your use, or you can
also create your own. Advanced features of Digester include:

* Ability
to plug in your own pattern matching engine, if the standard one is not
sufficient for your requirements.
* Optional namespace-aware processing, so
that you can define rules that are relevant only to a particular XML namespace.

* Encapsulation of Rules into RuleSets that can be easily and conveniently
reused in more than one application that requires the same type of
processing.
Go To Jakarta Commons
Digester

XStream

XStream is a simple library to serialize objects to XML and back again.(Uesful for simple application)
Go To XStream

woodstox

Woodstox is a fast Open Source StAX-compliant XML-processor written in Java
(processor meaning it handles both input (== parsing) and output (== writing,
serialization)).
Go To woodstox

StAX

StAX is a standard XML processing API that allows you to stream XML data
from and to your application. It's a standard pull parser implementation for the
java platform.
Go To StAX

JAXB

The Java Architecture for XML Binding (JAXB) provides a fast and convenient
way to bind between XML schemas and Java representations, making it easy for
Java developers to incorporate XML data and processing functions in Java
applications
Go To JAXB

Piccolo XML
Parser

Piccolo is a small, extremely fast XML parser for Java. It implements the
SAX 1, SAX 2.0.1, and JAXP 1.1 (SAX parsing only) interfaces as a non-validating
parser and attempts to detect all XML well-formedness errors.
Go To Piccolo XML
Parser

XP Parser

XP is an XML 1.0 parser written in Java. It is fully conforming: it detects
all non well-formed documents. It is currently not a validating XML processor.
However it can parse all external entities: external DTD subsets, external
parameter entities and external general entities.
Go To XP Parser

JiBX:
Binding XML to Java Code

JiBX is a framework for binding XML data to Java objects. It lets you work
with data from XML documents using your own class structures. The JiBX framework
handles all the details of converting your data to and from XML based on your
instructions. JiBX is designed to perform the translation between internal data
structures and XML with very high efficiency, but still allows you a high degree
of control over the translation process.
Go To JiBX:
Binding XML to Java Code

JOX

JOX is a set of Java libraries that make it easy to transfer data between
XML documents and Java beans. You can think of JOX as a special form of Java
Object Serialization, using XML as the serialization format
Go To JOX

Zeus

Zeus is, in a nutshell, an open source Java-to-XML Data Binding tool. It
provides a means of taking an arbitrary XML document and converting that
document into a Java object representing the XML. That Java object can then be
used and manipulated like any other Java object in the VM (virtual machine).
Then, once the object has been modified and operated upon, Zeus can be used to
convert the Java object back into an XML representation.
Go To Zeus

KBML

The Koala KBML package enables to serialize/deserialize JavaBeansTM to/from
XML documents. KBML stands for Koala Bean Markup Language. KBML is 100%
Java.
Go To KBML

kXML

kXML 2 is a small XML pull parser, specially designed for constrained
environments such as Applets, Personal Java or MIDP devices.
Go To kXML

NanoXML

NanoXML is a small XML parser for Java. NanoXML comes in three different
components:

* NanoXML/Java - The standard parser for Java.
*
NanoXML/SAX - A SAX adapter for NanoXML/Java.
* NanoXML/Lite - An extremely
small (6KB) XML parser which is the successor of NanoXML 1. It only provides a
limited functionality: no mixed content and the DTD is ignored.
Go To NanoXML

VTD-XML
1.5

VTD-XML is the next generation XML parser that goes beyond DOM and SAX in
terms of performance, memory and ease of use. To XML developers, VTD-XML is
simple and just works! Other innovative features include XML indexing (due to
inherent persistence of VTD) and incremental update. It is also the world's
fastest XML processor: On an Athlon64 3400+ PC, VTD-XML significantly (1.5x~2x)
outperforms SAX parsers with NULL content handler, delivering 50~60 MB/sec
sustained throughput, without sacrificing random access. Its memory usage is
typically between 1.3x~1.5x the size of the XML document, with 1 being the XML
itself.
Go To VTD-XML 1.5

Skaringa

Skaringa is an API for Java and XML language binding. It transforms Java
objects into XML documents and back, and can generate XML schema definitions for
a Java class. Typical applications are data exchange, object persistence, object
transformation, and driving XML based presentation layers. Skaringa is designed
for speed and simplicity, supporting a wide range of types. Skaringa works with
all Plain Old Java Objects (POJOs), it is not limited to special cases, like
JavaBeans.
Go To Skaringa

X2JB

XML 2 Java Binding (X2JB) is a Java development tool intended for binding of
XML entities to Java interfaces and classes (but not vice versa). In theory it
is kind of like JAXB, XML Beans or Jakarta Commons Digester but without their
complexity. It uses annotations to map attributes and elements into a Java
class.
Go To X2JB

NekoPull

NekoPull is an XML document parsing API that extends the Xerces Native
Interface (XNI) to provide pull parsing functionality. The pull parsing paradigm
is different from tree-based APIs like the Document Object Model (DOM) and event
stream APIs like the Simple API for XML (SAX) in that the application controls
the parsing of documents. NekoPull is similar to lex in that the application
requests, or pulls, the document information one piece at a time instead of
having document information pushed to the application.
Go To NekoPull

dom4j

dom4j is an easy to use, open source library for working with XML, XPath and
XSLT on the Java platform using the Java Collections Framework and with full
support for DOM, SAX and JAXP
Go To dom4j


原文:http://java-source.net/open-source/xml-parsers
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: