java中使用jdom生成xml

来源:百度文库 编辑:神马文学网 时间:2024/04/29 22:46:06
使用Java处理XML数据
使用Java处理XML文档数据,不仅可以做到对XML数据的解析,同时也可以实现XML文档的生成,以及在已经存在的XML文档中进行添加元素、删除元素、修改元素等一系列的操作。在这一节中,将向读者介绍使用JDOM来实现对XML数据的处理。
JDOM是一个开源项目,它基于树型结构,利用纯Java技术对XML文档实现解析、生成、序列化等操作。JDOM直接为Java编程服务。它利用Java语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。因此,只需要有一个JDOM的jar包,就可以在Java程序中,使用JDOM来实现对XML数据的处理。
使用JDOM来生成XML文档
下面介绍使用Eclipse来加载JDOM的jar包,同时利用JDOM来创建并生成一个XML文档。步骤如下。
(1)在Eclipse中建立工程项目。单击 “File”|“New”|“Project”命令菜单。

(2)在弹出窗口中选择“Java Project”,并单击“Next >”按钮。
(3)在弹出的“New Java Project”窗口中,在“Project name”文本框内输入工程名,例如输入“JDOMDemo”,之后单击“Finish”按钮。
(4)在JDOM的官方网站http://www.jdom.org/dist/binary/下载JDOM的jar包。
(5)下载完毕后,将其解压缩,解压缩后的“jdom.jar”文件即JDOM的jar包。
(6)在已经建立好的Eclipse工程项目中,导入jdom.jar包。鼠标移至工程名“JDOMDemo”上,单击鼠标右键,在弹出菜单中单击“Properties”菜单项。
(7)在出现的“Properties for JDOMDemo”窗口中,选择“Java Build Path”选项,再在右边选择“Libraries”标签,并在其窗口中单击“Add External JARs…”按钮(添加Eclipse外部jar包。
(8)在出现的JAR Selection窗口中,选择之前下载好的“jdom.jar”文件,并单击“打开”按钮,如图22-13所示。
(9)完成以上的几步后,会在“Libraries”标签窗口中发现多出了jdom一项,就说明导入成功了,并点击“OK”按钮,如图22-14所示。
(10)在工程项目中添加生成XML文档的类CreateXML。
(11)在代码编辑窗口中编写代码,用于生成XML文档。

代码22-7   使用JDOM生成XML文档CreateXML.java
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
public class CreateXML
{
//声明XML中所有的元素
Element customer,name,age,sex,address,street,city,district;
public CreateXML()
{
//创建customer元素,并设置为XML文档的根节点
customer = new Element("customer");
Document myDocument = new Document(customer);
//创建XML文档中的其他元素,并初始化元素名
name = new Element("name");
age = new Element("age");
sex = new Element("sex");
address = new Element("address");
street = new Element("street");
city = new Element("city");
district = new Element("district");
//给XML文档中的每一个元素添加内容值
name.addContent("Wang Xiao Yue");
age.addContent("24");
sex.addContent("male");
street.addContent("No.1 East Rood,ShangDi");
district.addContent("Hai Dian");
city.addContent("Bei Jing");
//将street、district和city元素作为子元素,添加到address元素中
address.addContent(street);
address.addContent(district);
address.addContent(city);
//将address元素作为子元素,添加到customer根元素中
customer.addContent(name);
customer.addContent(age);
customer.addContent(sex);
customer.addContent(address);
try
{
//创建XML文件输出流
XMLOutputter fmt = new XMLOutputter();
//创建文件输出流
FileWriter writer = new FileWriter("c:\\customer.xml");
//设置所创建的XML文档的格式
Format f = Format.getPrettyFormat();
fmt.setFormat(f);
//将生成的XML文档写入到"c:\customer.xml"文件中
fmt.output(myDocument, writer);
writer.close();
}
catch (Exception e) {e.printStackTrace();}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
CreateXML createXML = new CreateXML();
}
}
程序运行后,会在“C:\”目录下生成 “customer.xml”文件。