0

0

四种使用dom4j读取xml文件的方式

尚

发布时间:2020-03-21 17:26:44

|

6339人浏览过

|

来源于csdn

转载

四种使用dom4j读取xml文件的方式

以下是四种读取xml文件的方式,每种都有自己的用处。这是我在写日志管理器的时候查找到的。希望能给大家帮助。

首先我们先给出一个简单的xml文件





  1
  7891
  sdffff
  job
  
  2010-1-1
  5000.00
  1000.00
  



  2
  7369
  SMITH
  CLERK
  7902
  1980-12-17
  800.00
  
  20


第一种:

/**
  * 使用dom4j 中saxreader 获取Document容器,利用此容器的elementIterator读取xml文件
  */
 public static void readXML() throws DocumentException{
  
  SAXReader sr = new SAXReader();//获取读取xml的对象。
  Document doc = sr.read("src/com/sinojava/EMP.xml");//得到xml所在位置。然后开始读取。并将数据放入doc中
  Element el_root = doc.getRootElement();//向外取数据,获取xml的根节点。
  Iterator it = el_root.elementIterator();//从根节点下依次遍历,获取根节点下所有子节点
  
  while(it.hasNext()){//遍历该子节点
   
   Object o = it.next();//再获取该子节点下的子节点
   Element el_row = (Element)o;
   String s = el_row.getText();

   Iterator it_row = el_row.elementIterator();
   
   while(it_row.hasNext()){//遍历节点
    
    Element el_ename = (Element)it_row.next();//获取该节点下的所有数据。
    System.out.println(el_ename.getText());
   }
   //System.out.println(o);
  }
  
 }

第二种:;

Android数据库SQLite的使用示例 中文WORD版
Android数据库SQLite的使用示例 中文WORD版

Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences存储;第三种就是数据库SQLiteDatabase存储。文件存储我就不用多说了,而SharedPreferences可以存取简单的数据(int,double,float.etc),它经常用于数据缓存,因为它读取存储简单。详细可以参见本系列。Android高手进阶教程(七)之----Android 中Preferences的使用! 今天我们将讲一下SQLiteDatabase的使用。而掌握SqliteData

下载
/**
  * 使用elements方法进行xml的读取,相当于条件查询,可以根据不同的节点,利用for循环查询该节点下所有的数据。
  * @throws DocumentException
  */
 public static void readXML02() throws DocumentException{
  
  SAXReader sr = new SAXReader();//获取读取方式
  Document doc = sr.read("src/com/sinojava/EMP.xml");//读取xml文件,并且将数据全部存放到Document中
  Element root = doc.getRootElement();//获取根节点
  
  List list = root.elements("ROW");//根据根节点,将根节点下 row中的所有数据放到list容器中。
  for(Object obj:list){//这种遍历方式,是jdk1.5以上的版本支持的遍历方式
   Element row = (Element)obj;
   List list_row = row.elements("ENAME");//获取ENAME节点下所有的内容,存入list_row容器中
   
   for(Object objempno:list_row){
    
    Element el_empno = (Element)objempno;
    
    System.out.println(el_empno.getName()+": "+el_empno.getText());//获取节点下的数据。
    
   }
  }
 }

第三种:

/**
  * 使用适配器来完成xml的读取。
  * @param args
  * @throws DocumentException
  */
 public static void readXML04() throws DocumentException{
  
  SAXReader sr = new SAXReader();
  Document doc = sr.read("src/com/sinojava/EMP.xml");
  
  doc.accept(new VisitorSupport() {//使用观察器的子类,来完成对xml文件的读取。
   
   public void visit(Element el) {//利用观察期进行xml的读取。
    
    System.out.println(el.getName()+": "+el.getText());

   }
   
  });
 }

第四种:

/**
  * 使用selectNodes读取xml文件
  * @param args
  * @throws DocumentException
  */
 public static void readXML05(String elementpath) throws DocumentException{
  
  SAXReader sr = new SAXReader();
  Document doc = sr.read("src/com/sinojava/EMP.xml");
  
  List list = doc.selectNodes(elementpath);//使用selectNodes获取所要查询xml的节点。
  
  for(Object obj:list){//遍历节点,获取节点内数据。
   
   Element el = (Element)obj;
   System.out.println(el.getText());
  }
  
 }

更多相关问题请访问PHP中文网:XML视频教程

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
XML教程
XML教程

共142课时 | 5.6万人学习

XQuery 教程
XQuery 教程

共12课时 | 3.6万人学习

XLink  教程
XLink 教程

共7课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号