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

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();

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: