Java&Xml教程(一)简介

XML是广泛用于数据传输和存储的技术。Java语言提供个各种各样的API来解析XML,例如DOM、SAX、StAX、JAXB。也还有一些其他的API用于解析XML,例如JDOM。本教程的目的是探索使用不同类型的API解析XML和学习使用XML执行一些常见的任务。

DOM XML解析

DOM解析是最简单的解析方式,將XML文件加载到内存中,然后我们可以通过遍历Node节点来解析XML。DOM解析适用于内容较少的小文件,当文件较大时解析速度非常慢,并且很占用内存。
读取xml文件
此文介绍如何使用DOM解析XML文件,并将XML内容转换为Java对象。
生成XML文件
这篇文章介绍如何將Java对象转换为XML文件并存储到本地磁盘中。
修改XML文件
DOM解析机制同样可以用于修改XML数据。这篇文章介绍如何使用DOM解析机制新增元素、删除元素、修改元素值、修改属性等操作。

SAX XML解析

Java SAX解析机制提供了解析XML文档的API,SAX解析机制和DOM不同,它并不是將XML全部加载到内存中,而是按照顺序读取XML文档。它是基于事件的解析,我们需要实现自定义的Handler类,使用它的回调方法解析XML文件。当对大文件进行解析时,它比DOM解析机制效率更高。
读取XML文件
学习如何创建我们的回调Handler类,將XML内容读取到一个List中。

StAX XML解析

Java StAX 全称是Java Streaming API for XML,提供了解析XML的具体实现。StAX由两组API构成—基于游标的API和基于迭代器的API。
使用StAX Iterator API 读取XML文件
在这个教程中我们將学到如何使用StAX迭代的读取XML。
使用StAX Iterator API生成XML文件
在这个教程中我们將学到如何使用基于迭代器的StAX API生成XML。
使用StAX Cursor API读取XML文件
本文介绍如何使用StAX Cursor API 读取XML数据到Java对象中。
使用StAX Cursor API 生成XML文件
Java StAX Cursor API在创建XML并在其中输出数据方面是非常直接的。我们需要创建XMLStreamWriter对象,然后往对象中写数据即可。

JDOM XML解析

JDOM提供了非常优秀的API使得读取、修改、生成XML文件更加简单。它提供了包装类供你从SAX解析、DOM解析、StAX事件解析中选择具体的实现。
使用JDOM的好处是你可以从SAX、DOM STAX中切换解析器,而且可以提供工厂方法让客户机应用程序选择实现。
JDOM读取XML文件
这个教程中,我们将会学到如何使用JDOM读取XML文件。
JDOM生成XML文件
在这个教程中,我们会学习使用JDOM写XML文件。JDOM Document提供了创建元素和属性便捷的方法。XMLOutputter 类可以用于將Document对象写到任意的OutputStream或Writer对象。

JAXB

JAXB的全称是Java Architecture for XML Binding,使用它提供的API可以很轻松的將Java对象转换为XML,或将XML内容转换为Java对象。JAXB作为一个单独的项目,但是在Java 6中它成为JDK的一部分。
JAXB教程
使用JAXB非常简单,它使用注解,我们需要在Java对象上使用注解以指示创建XML,接着需要创建Marshaller將对象转换为XML,使用Unmarshaller將XML转换为Java对象。在这个教程中,我们將会学到大部分JAXB注解,并学会使用Marshaller將对象转换为XML,使用Unmarshaller將XML转换为对象。

JiBX

JiBX是非常强大的框架用于將XML和Java对象进行互相转换,它在使用XML作为数据传输格式的多应用集成方面使用较为广泛,例如Web Service和基于消息模型的系统集成。
JiBX教程
有许多框架可用于XML转换,如JAXB和XMLBeans,但JiBX对XML绑定和转换过程中使用不同的方法,JiBX通过工具类在编译时生成Ant脚本来执行这些任务。这种方法通过摆脱传统的两步处理方式,大大减少了处理时间。

XPath

XPath提供语法定义部分XML文档,XPath表达式使用查询字符串选择部分XML文档。使用XPath表达式,我们能够找到任何一个节点。
XPath教程
javax.xml.xpath 包提供了XPath的支持。可用通过XPath API提供的工厂方法创建XPathExpression,这个教程主要介绍使用XPath表达式查找XML节点。

一些XML相关任务

在Eclipse中从XSD中生成一般的XML
如果你从事Web Service相关工作,你需要使用XSD并测试WebService,你需要从XSD文件生成XML文件。Eclipse提供非常简单的方式帮你完成。
使用XSD校验XML合法性
Java XML Validation API可以使用XSD校验XML文件,这个教程中將使用到javax.xml.validation.Validator类。
Java XML 属性文件
通常我们java应用程序的配置参数存储在属性文件中。Java的属性文件可以是一个键值对的properties文件也可以是一个XML文件。在本例中介绍如何使用XML作为属性文件,并从属性文件中获取相关信息。
SOAP XML
Soap是基于XML的传输协议,Soap全称Simple Object Access Protocol.Soap是轻量级的数据交换机制,基于XML而且跨平台。
格式化XML文档
使用实用的工具类打印XML并將XML Document对象转换为字符串。
String和Document互相转换
有时我们在Java编程中,获得一个字符串,它的内容是XML数据格式,如果需要处理它,我们需要將它转换为一个Document对象。或者有时出于调试的目的,需要將Document对象转换为字符串输出。有两个实用的方法可以將String和Document对象之间进行转换。本文会有所介绍。

原文地址:http:///

XML是广泛用于数据传输和存储的技术。Java语言提供个各种各样的API来解析XML,例如DOM、SAX、StAX、JAXB。也还有一些其他的API用于解析XML,例如JDOM。本教程的目的是探索使用不同类型的API解析XML和学习使用XML执行一些常见的任务。

DOM XML解析

DOM解析是最简单的解析方式,將XML文件加载到内存中,然后我们可以通过遍历Node节点来解析XML。DOM解析适用于内容较少的小文件,当文件较大时解析速度非常慢,并且很占用内存。
读取xml文件
此文介绍如何使用DOM解析XML文件,并将XML内容转换为Java对象。
生成XML文件
这篇文章介绍如何將Java对象转换为XML文件并存储到本地磁盘中。
修改XML文件
DOM解析机制同样可以用于修改XML数据。这篇文章介绍如何使用DOM解析机制新增元素、删除元素、修改元素值、修改属性等操作。

SAX XML解析

Java SAX解析机制提供了解析XML文档的API,SAX解析机制和DOM不同,它并不是將XML全部加载到内存中,而是按照顺序读取XML文档。它是基于事件的解析,我们需要实现自定义的Handler类,使用它的回调方法解析XML文件。当对大文件进行解析时,它比DOM解析机制效率更高。
读取XML文件
学习如何创建我们的回调Handler类,將XML内容读取到一个List中。

StAX XML解析

Java StAX 全称是Java Streaming API for XML,提供了解析XML的具体实现。StAX由两组API构成—基于游标的API和基于迭代器的API。
使用StAX Iterator API 读取XML文件
在这个教程中我们將学到如何使用StAX迭代的读取XML。
使用StAX Iterator API生成XML文件
在这个教程中我们將学到如何使用基于迭代器的StAX API生成XML。
使用StAX Cursor API读取XML文件
本文介绍如何使用StAX Cursor API 读取XML数据到Java对象中。
使用StAX Cursor API 生成XML文件
Java StAX Cursor API在创建XML并在其中输出数据方面是非常直接的。我们需要创建XMLStreamWriter对象,然后往对象中写数据即可。

JDOM XML解析

JDOM提供了非常优秀的API使得读取、修改、生成XML文件更加简单。它提供了包装类供你从SAX解析、DOM解析、StAX事件解析中选择具体的实现。
使用JDOM的好处是你可以从SAX、DOM STAX中切换解析器,而且可以提供工厂方法让客户机应用程序选择实现。
JDOM读取XML文件
这个教程中,我们将会学到如何使用JDOM读取XML文件。
JDOM生成XML文件
在这个教程中,我们会学习使用JDOM写XML文件。JDOM Document提供了创建元素和属性便捷的方法。XMLOutputter 类可以用于將Document对象写到任意的OutputStream或Writer对象。

JAXB

JAXB的全称是Java Architecture for XML Binding,使用它提供的API可以很轻松的將Java对象转换为XML,或将XML内容转换为Java对象。JAXB作为一个单独的项目,但是在Java 6中它成为JDK的一部分。
JAXB教程
使用JAXB非常简单,它使用注解,我们需要在Java对象上使用注解以指示创建XML,接着需要创建Marshaller將对象转换为XML,使用Unmarshaller將XML转换为Java对象。在这个教程中,我们將会学到大部分JAXB注解,并学会使用Marshaller將对象转换为XML,使用Unmarshaller將XML转换为对象。

JiBX

JiBX是非常强大的框架用于將XML和Java对象进行互相转换,它在使用XML作为数据传输格式的多应用集成方面使用较为广泛,例如Web Service和基于消息模型的系统集成。
JiBX教程
有许多框架可用于XML转换,如JAXB和XMLBeans,但JiBX对XML绑定和转换过程中使用不同的方法,JiBX通过工具类在编译时生成Ant脚本来执行这些任务。这种方法通过摆脱传统的两步处理方式,大大减少了处理时间。

XPath

XPath提供语法定义部分XML文档,XPath表达式使用查询字符串选择部分XML文档。使用XPath表达式,我们能够找到任何一个节点。
XPath教程
javax.xml.xpath 包提供了XPath的支持。可用通过XPath API提供的工厂方法创建XPathExpression,这个教程主要介绍使用XPath表达式查找XML节点。

一些XML相关任务

在Eclipse中从XSD中生成一般的XML
如果你从事Web Service相关工作,你需要使用XSD并测试WebService,你需要从XSD文件生成XML文件。Eclipse提供非常简单的方式帮你完成。
使用XSD校验XML合法性
Java XML Validation API可以使用XSD校验XML文件,这个教程中將使用到javax.xml.validation.Validator类。
Java XML 属性文件
通常我们java应用程序的配置参数存储在属性文件中。Java的属性文件可以是一个键值对的properties文件也可以是一个XML文件。在本例中介绍如何使用XML作为属性文件,并从属性文件中获取相关信息。
SOAP XML
Soap是基于XML的传输协议,Soap全称Simple Object Access Protocol.Soap是轻量级的数据交换机制,基于XML而且跨平台。
格式化XML文档
使用实用的工具类打印XML并將XML Document对象转换为字符串。
String和Document互相转换
有时我们在Java编程中,获得一个字符串,它的内容是XML数据格式,如果需要处理它,我们需要將它转换为一个Document对象。或者有时出于调试的目的,需要將Document对象转换为字符串输出。有两个实用的方法可以將String和Document对象之间进行转换。本文会有所介绍。

以上就是Java&Xml教程(一)简介的内容,更多相关内容请关注硕下网()!