1.TestDom4J.java
2.test.xml
package com.fayhong.test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import com.fayhong.util.Helper;
public class TestDom4J {
public static void main(String args[]){
//DOM4J使用示例
TestDom4J testDom4J=new TestDom4J();
testDom4J.jiexi();
testDom4J.test();
}
public void test(){
Document document = DocumentHelper.createDocument();
Element reportElement = document.addElement("Report");
Element person=reportElement.addElement("Person");
Element name=person.addElement("name");
name.setText("xiajin");
name.setAttributeValue("des", "姓名");
Element no=person.addElement("no");
no.setAttributeValue("des", "学号");
no.setText("03551220");
Element person2=reportElement.addElement("Person");
Element name2=person2.addElement("name");
name2.setText("luobihong");
Element no2=person2.addElement("no");
no2.setText("03551225");
File dirFile = null;
dirFile = new File("d:/file/飞鸿科技");
if (!(dirFile.exists()) && !(dirFile.isDirectory())) {
boolean creadok = dirFile.mkdirs();
if (creadok) {
System.out.println(" ok:创建文件夹成功! ");
} else {
System.out.println(" err:创建文件夹失败! ");
}
}
StringBuffer sb = new StringBuffer();
try {
sb.append(dirFile.getCanonicalPath()).append("/").append(Helper.generateCurrentDateB()).append(".xml");
XMLWriter xmlWriter = new XMLWriter(new FileWriter(new File(sb.toString())));
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(sb.toString());
}
public void jiexi(){
try {
Document document = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("test.xml"));
List list=document.selectNodes("//Report/Person");
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Element element = (Element) iterator.next();
// System.out.println("name==="+element.getName());
// System.out.println("attributeValue==="+element.attributeValue("a"));
// System.out.println("number==="+element.elementText("number"));
// System.out.println("getText==="+element.getStringValue());
List list2=element.elements();
for (Iterator iterator2 = list2.iterator(); iterator2.hasNext();) {
Element name = (Element) iterator2.next();
System.out.println(name.getName()+" : "+name.getText()+name.attributeValue("des"));
}
}
Element e=document.getRootElement();
List el=e.elements();
for (Iterator iterator = el.iterator(); iterator.hasNext();) {
Element element = (Element) iterator.next();
List list2=element.elements();
for (Iterator iterator2 = list2.iterator(); iterator2.hasNext();) {
Element name = (Element) iterator2.next();
System.out.println(name.getName()+" : "+name.getText()+name.attributeValue("des"));
}
}
System.out.println(e);
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
2.test.xml
<?xml version="1.0" encoding="UTF-8"?>
<Report><Person><name des="姓名">xiajin</name><no des="学号">03551220</no></Person><Person><name>luobihong</name><no>03551225</no></Person></Report>