Dom4j 生成和解析XML文件

//生成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());

}
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值