//生成xml文件
package lc.abin.lee.xml.dom4j;
import java.io.FileWriter;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateDom4j {
public static String createXml() throws Exception{
Document document=DocumentHelper.createDocument();
Element root=document.addElement("lee");
Element country=root.addElement("abin");
Element area=country.addElement("name");
Element first=area.addElement("lc1");
first.addText("lc1name");
Element middle=area.addElement("lc2");
middle.addText("lc2name");
Element last=area.addElement("lc3");
last.addText("lc3name");
FileWriter fileWriter=new FileWriter("lbin.xml");
OutputFormat format=new OutputFormat();
format.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(fileWriter, format);
writer.write(document);
writer.flush();
writer.close();
return document.asXML();
}
public static void main(String[] args)throws Exception {
String result=createXml();
System.out.println("result="+result);
}
}
生成的XML文件内容
<?xml version="1.0" encoding="UTF-8"?>
<lee><abin><name><lc1>lc1name</lc1><lc2>lc2name</lc2><lc3>lc3name</lc3></name></abin></lee>
//DOM4J解析XML文件
package lc.abin.lee.xml.dom4j;
import java.io.File;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ParseJdom {
public static Map<String,String> parse(File file) throws DocumentException{
Map<String,String> map=Collections.synchronizedMap(new HashMap<String,String>());
SAXReader sax=new SAXReader();
Document doc=sax.read(file);
List list=doc.selectNodes("/lee/abin/name");
for(Iterator it=list.iterator();it.hasNext();){
Element ele=(Element)it.next();
for(Iterator its=ele.elementIterator();its.hasNext();){
Element le=(Element)its.next();
map.put(le.getName(), le.getText());
System.out.println("le.getName()="+le.getName());
System.out.println("le.getText()="+le.getText());
}
}
return map;
}
public static void main(String[] args) throws Exception {
File file=new File("lbin.xml");
Map<String,String> map=parse(file);
for(Iterator it=map.entrySet().iterator();it.hasNext();){
Map.Entry entry=(Map.Entry)it.next();
System.out.println("name="+entry.getKey());
System.out.println("value="+entry.getValue());
}
}
}