Dom4j解析xml文件-递归遍历所有节点和属性
2017-03-15 10:42
507 查看
Dom4j是Java中常用读取xml文件的工具,就方便性和性能方面,一定程度要优于JDK中Domcument和SAX解析的,感兴趣的童鞋可以看看这篇文章 java解析XML的四种方式及比较,下边我就分享一下用Dom4j对xml文件进行遍历,一看代码就明白了,注释的很详细。
被测试的xml文件test.xml
<?xml version="1.0" encoding="UTF-8"?> <root> <user editor="chenleixing" date="2015-02-15"> <name>张三</name> <year>24</year> <sex>男</sex> </user> <user editor="zhangxiaochao" date="2015-02-15"> <name>李四</name> <year>24</year> <sex>女</sex> </user> </root>
创建File,获取根节点
/** * 从指定节点开始,递归遍历所有子节点 * @author chenleixing */ public void getNodes(Element node){ System.out.println("--------------------"); //当前节点的名称、文本内容和属性 System.out.println("当前节点名称:"+node.getName());//当前节点名称 System.out.println("当前节点的内容:"+node.getTextTrim());//当前节点名称 List<Attribute> listAttr=node.attributes();//当前节点的所有属性的list for(Attribute attr:listAttr){//遍历当前节点的所有属性 String name=attr.getName();//属性名称 String value=attr.getValue();//属性的值 System.out.println("属性名称:"+name+"属性值:"+value); } //递归遍历当前节点所有的子节点 List<Element> listElement=node.elements();//所有一级子节点的list for(Element e:listElement){//遍历所有一级子节点 this.getNodes(e);//递归 } }
从指定节点开始,递归遍历所有节点和属性
/** * 从指定节点开始,递归遍历所有子节点 * @author chenleixing */ public void getNodes(Element node){ System.out.println("--------------------"); //当前节点的名称、文本内容和属性 System.out.println("当前节点名称:"+node.getName());//当前节点名称 System.out.println("当前节点的内容:"+node.getTextTrim());//当前节点名称 List<Attribute> listAttr=node.attributes();//当前节点的所有属性的list for(Attribute attr:listAttr){//遍历当前节点的所有属性 String name=attr.getName();//属性名称 String value=attr.getValue();//属性的值 System.out.println("属性名称:"+name+"属性值:"+value); } //递归遍历当前节点所有的子节点 List<Element> listElement=node.elements();//所有一级子节点的list for(Element e:listElement){//遍历所有一级子节点 this.getNodes(e);//递归 } }
输出结果
-------------------- 当前节点名称:root 当前节点的内容: -------------------- 当前节点名称:user 当前节点的内容: 属性名称:editor属性值:chenleixing 属性名称:date属性值:2015-02-15 -------------------- 当前节点名称:name 当前节点的内容:张三 -------------------- 当前节点名称:year 当前节点的内容:24 -------------------- 当前节点名称:sex 当前节点的内容:男 -------------------- 当前节点名称:user 当前节点的内容: 属性名称:editor属性值:zhangxiaochao 属性名称:date属性值:2015-02-15 -------------------- 当前节点名称:name 当前节点的内容:李四 -------------------- 当前节点名称:year 当前节点的内容:24 -------------------- 当前节点名称:sex 当前节点的内容:女
相关文章推荐
- Dom4j解析xml文件-递归遍历所有节点和属性
- Dom4j解析xml文件-递归遍历所有节点和属性
- Dom4j解析xml文件-递归遍历所有节点和属性
- Dom4j解析xml文件-递归遍历所有节点和属性
- Dom4j解析xml文件-递归遍历所有节点和属性
- java中dom4j解析xml文件怎么获取节点属性
- 用DOM4j解析xml文件,获得所有节点信息 http://blog.csdn.net/yizhizouxiaqu/archive/2009/12/10/4977122.aspx
- Dom4j解析xml文件-操作节点和属性及写入其他xml文件
- Dom4j解析xml文件-操作节点和属性及写入其他xml文件
- dom4j解析XML文件,通过属性查找节点,出现异常
- 利用dom4j解析xml文档,自动遍历节点属性
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件
- 用DOM4j解析xml文件,获得所有节点信息
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件
- Dom4j解析XML文本,遍历指定节点下的节点内容和属性,并存入List<Map<String,Object>
- 利用dom4j解析xml文档,自动遍历节点属性
- 解析xml文件,遍历输出xml文件中的所有节点, 最终模仿实现struts2框架
- 解析xml文件,遍历输出xml文件中的所有节点, 最终模仿实现struts2框架
- 递归遍历XML所有节点
- asp.net treeview遍历递归获取当前节点所有子级(含子级的子级)