package com.accp.test;
public interface XmLDocument {
public void createXML(String fileName);
public void parseXML(String fileName);
}
package com.accp.test;
import java.io.*;
import java.util.Iterator;
import org.dom4j.*;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.SAXReader;
public class Dom4jTest implements XmLDocument {
public void createXML(String fileName)
{
//根据hibernate3.2的核心包中dom4j来进行xml解析,这里创建xml
Document document=DocumentHelper.createDocument();
Element elements=document.addElement("employees");
Element element=elements.addElement("employee");
Element name=element.addElement("name");
name.setText("liuye");
Element age=element.addElement("age");
age.setText("23");
Element address=element.addElement("address");
address.setText("wuhan");
try
{
//文件读写,写进指定的地址
FileWriter fileWriter=new FileWriter(fileName);
//XMLWriter写入文件
XMLWriter writer=new XMLWriter(fileWriter);
writer.write(document);
writer.close();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
public void parseXML(String fileName)
{
//文件读
File file=new File(fileName);
SAXReader reader=new SAXReader();
try {
//文件读,用SAXReader
Document document=reader.read(file);
//用Element得到根节点以及所有元素
Element elements=document.getRootElement();
//elementIterator遍历
for (Iterator iterator = elements.elementIterator(); iterator
.hasNext();) {
//element进行子元素存储
Element element = (Element) iterator.next();
//继续遍历,一般需要遍历几层就遍历几层。更具需求
for (Iterator iterator2 = element.elementIterator(); iterator2
.hasNext();) {
Element type = (Element) iterator2.next();
//得到结果
System.out.println(type.getName()+"---"+type.getText());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.accp.test;
public class Main {
public static void main(String[] args) {
String fileName="C:\\Documents and Settings\\Administrator\\桌面\\java.txt";
//接口创建实现类对象
XmLDocument document=new Dom4jTest();
document.createXML(fileName);
document.parseXML(fileName);
}
}