当前位置:编程学习 > XML/UML >>

xml解析dom4j

在xml的解析中,dom4j号称效率最高的,很多开源的框架也用dom4j来处理xml的解析。dom4j封装了java原始的解析方式,对数据解析做了很大的优化。


下载地址:
http://sourceforge.net/projects/dom4j/


demo:
dom4j-1.6.1\src\samples\org\dom4j\samples


解析实例


package demo.dom4j;


import java.io.File;
import java.util.Iterator;
import java.util.List;


import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class Test
{
public static void main(String[] args)
{
try
{
File file = new File("E:/project.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(file);

Element root = doc.getRootElement();

System.out.println("根节点名称:"+root.getName());
System.out.println("节点名称: "+" 节点值");
//获根跟节点下的所有子节点
for (Iterator i = root.elementIterator(); i.hasNext();)
{
Element element = (Element) i.next();
System.out.println(element.getName()+": "+element.getText());
}

Element reports = root.element("reports");
//获根reports节点下的所有子节点
for (Iterator i = reports.elementIterator(); i.hasNext();)
{
Element element = (Element) i.next();
System.out.println(element.getName()+": "+element.getText());
}

 


}
catch (DocumentException e)
{
e.printStackTrace();
}


}


}

 


异常处理:


org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.
出现异常的原因是因为编码格式问题。dom4j并没有对编码进行处理,只是使用java本来的编码处理方式。


org.dom4j.io.SAXReader.setEncoding(String encoding) //设置解析时候的编码
org.dom4j.io.OutputFormat.setEncoding(String encoding) //设置创建时候的编码



作者:qq1761310972

补充:Web开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,