package test;import java.io.*;import java.net.URL;import java.net.URLDecoder; import java.net.URLDecoder;import java.util.*;import org.dom4j.*;import org.dom4j.io.*;public class XMLDom4J { public static void main(String[] args) { XMLDom4J xm=new XMLDom4J(); long startTime=System.currentTimeMillis(); xm.DOMParse(); System.out.println("处理时间:"+(System.currentTimeMillis()-startTime)); } public void DOMParse(){ String url=this.getClass().getResource("XML.xml").getPath(); //获得xml的绝对路径 String ss=null; try{ ss=URLDecoder.decode(url, "utf-8"); //对路径转码 }catch(Exception ex){ ex.printStackTrace(); } File file=new File(ss); //定义文件对像 SAXReader reader=new SAXReader(); //定义解析对像 try { Document doc=reader.read(file); //解析返回document对像 Element root=doc.getRootElement(); //获的根元素 Iterator it=root.elementIterator("VALUE"); //对根元素下的value节点迭代 Element eoo; while(it.hasNext()){ eoo=(Element)it.next(); //迭代一个返元素对像 System.out.println("编号:"+eoo.elementText("NO")); System.out.println("地址:"+eoo.elementText("ADDR")); } } catch (DocumentException e) { e.printStackTrace(); } }} //以下为xml文件内容 <?xml version="1.0" encoding="GB2312"?><!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by newer (newer) --><RESULT> <VALUE> <NO>A1234</NO> <ADDR>四川省XX县XX镇XX路X段XX号</ADDR> </VALUE> <VALUE> <NO>B1234</NO> <ADDR>四川省XX市XX乡XX村XX组</ADDR> </VALUE></RESULT>

评论