这篇文章讲的不错~把JDOM的基本操作实例化了,不过由于当时的作者用的JDOM版本还比较陈旧,所以部分代码会编译出错!支持中文也不好!所以,法老在原作者的基础上对程序做了修改!休正了编译出错以及中文乱码的问题。发表出来,供大家学习和使用。
测试环境:jdom1.0,weblogic 8.1sp2,tomcat 5.0,IE 6。0
/==================================正文开始=======================================/
Java + XML = JDOM !
这就是JDOM设计者的目标。如果你曾经使用过烦人的SAX或是DOM来处理XML,你就会知道为什么要有JDOM或者是JAXB。在今年(2002)的JavaOne会议上JDOM的主要创始人Jason Hunter有一篇精彩的演讲介绍了JDOM技术,题目就是JDOM Makes XML Easy。
获得并安装JDOM
在http://jdom.org可以下载JDOM的最新版本。以JDOM 1.0的2进制版本为例。下载后解压缩,JDOM的jar文件就是build目录下的文件jdom.jar,将之加入类路径。另外JDOM还需要lib目录下那些jar文件如xerces.jar,jaxp.jar的支持。如果在使用中出现以下错误:
java.lang.NoSuchMethodError
或
java.lang.NoClassDefFoundError: org/xml/sax/SAXNotRecognizedException
你需要保证xerces.jar文件在CLASSPATH中位于其他XML类,如JAXP或Crimson之前,这些类文件,包括以前老版本的xerces,可能不支持SAX2.0或DOM Level 2。于是导致了上面的错误。
一个简单的例子
JDOM的处理方式有些类似于DOM,但它主要是用SAX实现的,你不必担心处理速度和内存的问题。另外,JDOM中几乎没有接口,的类全部是实实在在的类,没有类工厂类的。
下面是实例用的XML文件: MyXml.xml
<?xml version="1.0" encoding="utf-8"?>
<书库>
<书>
<书名>Java编程入门</书名>
<作者>张三</作者>
<出版社>电子出版社</出版社>
<价格>35.0</价格>
<出版日期>2002-10-07</出版日期>
</书>
<书>
<书名>XML在Java中的应用</书名>
<作者>李四</作者>
<出版社>希望出版社</出版社>
<价格>92.0</价格>
<出版日期>2002-10-07</出版日期>
</书>
</书库>
下面是操作XML文件的Bean: XmlBean.java
package jdom.test;
/**
* XML的读写操作Bean
*/
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class XmlBean {
private String bookname, author, pub, price, pubdate;
public String getbookname() {
return bookname;
}
public String getauthor() {
return author;
}
public String getpub() {
return pub;
}
public String getprice() {
return price;
}
public String getpubdate() {
return pubdate;
}
public void setbookname(String bookname) {
this.bookname = bookname;
}
public void setauthor(String author) {
this.author = author;
}
public void setpub(String pub) {
this.pub = pub;
}
public void setprice(String price) {
this.price = price;
}
public void setpubdate(String pubdate) {
this.pubdate = pubdate;
}