Dom4j读取xml文件

一、xml文件:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <root>  
  3.     <user editor="chenleixing" date="2015-02-15">  
  4.         <name>张三</name>  
  5.         <year>24</year>  
  6.         <sex>男</sex>  
  7.     </user>  
  8.     <user editor="zhangxiaochao" date="2015-02-15">  
  9.         <name>李四</name>  
  10.         <year>24</year>  
  11.         <sex>女</sex>  
  12.     </user>  
  13. </root> 
二、创建file,获取根节点

  1.        /** 
  2.  * 获取文件的document对象,然后获取对应的根节点 
  3.  * @author chenleixing 
  4.  */  
  5. @Test  
  6. public void testGetRoot() throws Exception{  
  7.     SAXReader sax=new SAXReader();//创建一个SAXReader对象  
  8.     File xmlFile=new File("d:\\test.xml");//根据指定的路径创建file对象  
  9.     Document document=sax.read(xmlFile);//获取document对象,如果文档无节点,则会抛出Exception提前结束  
  10.     Element root=document.getRootElement();//获取根节点  
  11.     this.getNodes(root);//从根节点开始遍历所有节点  
  12.   
  13. }
三、根据节点,使用递归遍历节点名和属性

  1.        /** 
  2.  * 从指定节点开始,递归遍历所有子节点 
  3.  * @author chenleixing 
  4.  */  
  5. public void getNodes(Element node){  
  6.     System.out.println("--------------------");  
  7.       
  8.     //当前节点的名称、文本内容和属性  
  9.     System.out.println("当前节点名称:"+node.getName());//当前节点名称  
  10.     System.out.println("当前节点的内容:"+node.getTextTrim());//当前节点名称  
  11.     List<Attribute> listAttr=node.attributes();//当前节点的所有属性的list  
  12.     for(Attribute attr:listAttr){//遍历当前节点的所有属性  
  13.         String name=attr.getName();//属性名称  
  14.         String value=attr.getValue();//属性的值  
  15.         System.out.println("属性名称:"+name+"属性值:"+value);  
  16.     }  
  17.       
  18.     //递归遍历当前节点所有的子节点  
  19.     List<Element> listElement=node.elements();//所有一级子节点的list  
  20.     for(Element e:listElement){//遍历所有一级子节点  
  21.         this.getNodes(e);//递归  
  22.     }  
  23. }  
四、输出结果

  1. --------------------  
  2. 当前节点名称:root  
  3. 当前节点的内容:  
  4. --------------------  
  5. 当前节点名称:user  
  6. 当前节点的内容:  
  7. 属性名称:editor属性值:chenleixing  
  8. 属性名称:date属性值:2015-02-15  
  9. --------------------  
  10. 当前节点名称:name  
  11. 当前节点的内容:张三  
  12. --------------------  
  13. 当前节点名称:year  
  14. 当前节点的内容:24  
  15. --------------------  
  16. 当前节点名称:sex  
  17. 当前节点的内容:男  
  18. --------------------  
  19. 当前节点名称:user  
  20. 当前节点的内容:  
  21. 属性名称:editor属性值:zhangxiaochao  
  22. 属性名称:date属性值:2015-02-15  
  23. --------------------  
  24. 当前节点名称:name  
  25. 当前节点的内容:李四  
  26. --------------------  
  27. 当前节点名称:year  
  28. 当前节点的内容:24  
  29. --------------------  
  30. 当前节点名称:sex  
  31. 当前节点的内容:女 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Javascript & jQuery &Ajax&JSON · jquery-1.7.2.js · jquery-1.7.2.min.js · jQuery插件 · EasyUI+v1.3.4官方API中文版 · EasyUI+v1.3.4官方API中文版.rar · jackson-src-1.7.1.zip · ext-3.0.0.zip · google-gson-2.2.4-release.zip apache-commons框架 · commons-validator-1.3.1-src.zip · commons-lang3-3.2.1-src.zip   · commons-fileupload-1.2.1-src.zip   · commons-dbutils-1.3-bin.zip   · commons-pool-1.5.5-bin.zip   · commons-io-2.0-bin.zip   · commons-lang-2.5-src.zip   · commons-logging-1.1.1-bin.zip   · commons-io-2.0-src.zip   · commons-lang3-3.2.1-bin.zip   · commons-lang-2.5-bin.zip   · commons-dbutils-1.3-src.zip   · commons-pool-1.5.5-src.zip   · commons-validator-1.3.1.zip   · commons-logging-1.1.1-src.zip   · commons-dbcp-1.4-src.zip   · commons-fileupload-1.2.1-bin.zip   · commons-codec-1.4-bin.zip   · commons-dbcp-1.4-bin.zip   · commons-collections-3.2.1-src.zip   · commons-codec-1.4-src.zip   · commons-beanutils-1.8.0-bin.zip   · commons-beanutils-1.8.0-src.zip   · commons-collections-3.2.1-bin.zip SSH框架   · struts-menu-2.4.3.zip   · spring-modules-0.9-with-dependencies.zip   · spring-framework-3.1.0.CI-1163-dependencies.zip   · spring-framework-2.5.6.SEC01-with-dependencies.zip   · struts-menu-2.4.3-src.zip   · struts-2.3.15.3-all.zip   · spring-framework-4.0.0.RELEASE-dist.zip   · struts-2.3.4-all.zip   · struts-1.3.8-all.zip   · spring-framework-3.1.1.RELEASE-with-docs.zip   · struts2-2.2.1-all.zip · struts-2.1.8.1-all.zip  · hibernate-distribution-3.6.0.Final-dist.zip   · hibernate-distribution-3.5.1-Final-dist.zip   · hibernate-release-4.2.4.Final.zip spring-data-jpa(1.4.2.RELEASE)   · spring-data-jpa-1.4.2.RELEASE-sources.jar   · spring-data-jpa-1.4.2.RELEASE-javadoc.jar   · spring-data-jpa-1.4.2.RELEASE.jar  · spring-data-jpa-reference.pdf spring-data-commons  · spring-data-commons-1.6.2.RELEASE-sources.jar · spring-data-commons-1.6.2.RELEASE.jar   · spring-data-commons-1.6.2.RELEASE-javadoc.jar shiro   · shiro所有相关jar包   · shiro-root-1.2.2-source-release.zip spring-security   · spring-security-3.1.0.M1.zip   · spring-security-2.0.5.zip 工作流   · jbpm-4.3.zip   · jbpm-4.4.zip   · jbpm-jpdl-suite-3.2.3.zip   · activiti-5.15.1.zip 其它   · spring-modules-0.9.zip   · poi-src-3.5-FINAL-20090928.zip   · poi-bin-3.5-FINAL-20090928.zip   · slf4j-1.6.1.zip   · pinyin4j-2.5.0.zip   · ognl.zip   · mysql-connector-java-5.1.7.zip   · joda-time-2.3-dist.zip   · jfreechart-1.0.13-javadocs.zip   · jfreechart-1.0.13.zip   · jdom-1.1.zip   · javamail-1_4_1.zip   · jakarta-taglibs-standard-1.1.2-src.zip   · jakarta-taglibs-standard-1.1.2.zip   · jaf-1_1_1.zip   · hibernate-validator-5.0.0.CR2-dist.zip   · guice-1.0-src.zip   · guice-1.0.zip   · displaytag-1.2-bin.zip   · displaytag-1.2-src.zip   · cewolf-1.1.4.zip   · cewolf-1.0-bin-src.zip   · c3p0-0.9.1.2.src.zip   · c3p0-0.9.1.2.bin.zip   · apache-log4j-1.2.15.zip   · xwork2-2.1.rar   · dom4j-1.6.1.rar   · elecfans.com-XPath.rar   · xwork-assembly-2.1.6-all.zip   · quartz-2.2.1-distribution.tar.gz   · xloadtree_zh_cn.zip   · xdoclet-src-1.2.3.zip   · xdoclet-bin-1.2.3.zip   · xfire-distribution-1.2.6.zip   · xdoclet-lib-1.2.3.zip

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值