xml解析 dom4j
来源:互联网 发布:淘宝卖家跑哪去了 编辑:程序博客网 时间:2024/06/05 03:17
在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) //设置创建时候的编码
下载地址:
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) //设置创建时候的编码
- 用DOM4J解析XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 解析xml之--DOM4J
- dom4j解析XML
- 使用 dom4j 解析 XML
- xml文件解析-DOM4J
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- dom4j解析xml方法
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 集成struts2 spring hibernate中使用注解
- RFC1035域名随机生成测试代码
- dataAdapter与dataSet和dataTable的填充
- 去除NSString的空格和回车
- 妙用客户端对象模型
- xml解析 dom4j
- iphone左右滑屏效果
- 黑马程序员_java异常总结
- EL(Expression Language表达式语言)
- 【great】js函数闭包学习贴
- sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 错误18452
- CListCtrl使用技巧
- 由于为列"producttypename"指定了多个代码页(936和1252),无法处理此列
- MyEclipse启动故障-Initializing Java Tooling(转)