java解析xml之二:使用JDOM
2008-05-19 20:10
351 查看
来自:http://sysu-zeh.javaeye.com/blog/119306
一.简介
JDOM是一种解析XML的Java工具包。 它由Breet Mclaughlin和Jason Hunter在2000年初作为一个开放源代码项目正式开始研发。DOM适合于当今流行的各种语言,包括Java,JavaScripte,VB,VBScript,Perl,C,C++等。它了为HTML和XML文档提供了一个可应用于不同平台的编程接口。 DOM的设计为了适用于不同的语言,它保留了不同语言中非常相似的API。但是它并不适合于Java编程者的习惯。而JDOM作为一种轻量级API被制定,它最核心的要求是以Java为中心,只适合于Java语言,它遵循DOM的接口主要规则,除去了DOM中为了兼容各语言而与Java习惯的不同。
在JDOM 中,XML元素就是Element 的实例,XML属性就是Attribute 的实例,XML 文档本身就是Document 的实例。因为JDOM 对象就是像Document、Element 和 Attribute 这些类的直接实例,因此创建一个新JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java new 操作符而不故弄玄虚使用复杂的工厂化模式,使对象操作即便对于初学用户也很方便。
二.安装JDOM
1.下载二进制版本:http://www.jdom.org/downloads/index.html;
2.将解压后的jdom.jar文件放至项目的类路径中,或可以作为附加包在项目中附加。
三.实例
1.所需xml文件
Text.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book email="zeh2007@126.com">
<name>C++编程思想</name>
<price>60.0</price>
</book>
</books>
2.解析xml
package jdomParser;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
//下面是引用到JDOM中的类
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class JDomParser {
public JDomParser() {
String xmlpath="Test.xml";
//指定解析器
SAXBuilder builder=new SAXBuilder(false);
try {
//得到Document
Document doc=builder.build(xmlpath);
//得到根元素
Element books=doc.getRootElement();
//得到元素(节点)的集合
List booklist=books.getChildren("book");
//轮循List集合
for (Iterator iter = booklist.iterator(); iter.hasNext();) {
Element book = (Element) iter.next();
//取得元素的属性
String email=book.getAttributeValue("email");
System.out.println(email);
//取得元素的子元素的值
String name=book.getChildTextTrim("name");
System.out.println(name);
//改变元素的值
book.getChild("name").setText("C++编程思想");
String price=book.getChildTextTrim("price");
System.out.println(price);
book.getChild("price").setText("60.0");
}
//保存Document的修改到XML文件中
XMLOutputter outputter=new XMLOutputter();
outputter.output(doc,new FileOutputStream(xmlpath));
}
catch (JDOMException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new JDomParser();
}
}
一.简介
JDOM是一种解析XML的Java工具包。 它由Breet Mclaughlin和Jason Hunter在2000年初作为一个开放源代码项目正式开始研发。DOM适合于当今流行的各种语言,包括Java,JavaScripte,VB,VBScript,Perl,C,C++等。它了为HTML和XML文档提供了一个可应用于不同平台的编程接口。 DOM的设计为了适用于不同的语言,它保留了不同语言中非常相似的API。但是它并不适合于Java编程者的习惯。而JDOM作为一种轻量级API被制定,它最核心的要求是以Java为中心,只适合于Java语言,它遵循DOM的接口主要规则,除去了DOM中为了兼容各语言而与Java习惯的不同。
在JDOM 中,XML元素就是Element 的实例,XML属性就是Attribute 的实例,XML 文档本身就是Document 的实例。因为JDOM 对象就是像Document、Element 和 Attribute 这些类的直接实例,因此创建一个新JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java new 操作符而不故弄玄虚使用复杂的工厂化模式,使对象操作即便对于初学用户也很方便。
二.安装JDOM
1.下载二进制版本:http://www.jdom.org/downloads/index.html;
2.将解压后的jdom.jar文件放至项目的类路径中,或可以作为附加包在项目中附加。
三.实例
1.所需xml文件
Text.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book email="zeh2007@126.com">
<name>C++编程思想</name>
<price>60.0</price>
</book>
</books>
2.解析xml
package jdomParser;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
//下面是引用到JDOM中的类
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class JDomParser {
public JDomParser() {
String xmlpath="Test.xml";
//指定解析器
SAXBuilder builder=new SAXBuilder(false);
try {
//得到Document
Document doc=builder.build(xmlpath);
//得到根元素
Element books=doc.getRootElement();
//得到元素(节点)的集合
List booklist=books.getChildren("book");
//轮循List集合
for (Iterator iter = booklist.iterator(); iter.hasNext();) {
Element book = (Element) iter.next();
//取得元素的属性
String email=book.getAttributeValue("email");
System.out.println(email);
//取得元素的子元素的值
String name=book.getChildTextTrim("name");
System.out.println(name);
//改变元素的值
book.getChild("name").setText("C++编程思想");
String price=book.getChildTextTrim("price");
System.out.println(price);
book.getChild("price").setText("60.0");
}
//保存Document的修改到XML文件中
XMLOutputter outputter=new XMLOutputter();
outputter.output(doc,new FileOutputStream(xmlpath));
}
catch (JDOMException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new JDomParser();
}
}
相关文章推荐
- java解析xml之二:使用JDOM
- Java使用Jdom读取xml解析实例
- Java:XML篇,使用JDOM读取并解析XML
- 使用Java的JDOM解析xml代码
- Java XML解析工具 JDOM介绍及使用实例
- Java&Xml教程(六)使用JDOM解析XML文件
- [JAVA100例]070、使用JDOM解析XML
- java使用jdom架包解析xml字符串dom原理并保存map对象
- Java基础系列17:使用DOM、SAX、JDOM、DOM4J解析XML文件详解
- Java&Xml教程(六)使用JDOM解析XML文件
- 使用Java解析XML文件(一)——JDOM篇
- Java&Xml教程(六)使用JDOM解析XML文件
- Java使用JDOM解析XML(转载,简单又详细)
- Java——JDOM解析XML文件
- java解析xml四种方式(4)-jdom方式
- 使用Java解析CSV文件
- 解析Java对象的equals()和hashCode()的使用
- Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例
- json在java中的几种解析工具的使用