用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类、Element类等的方法读取所需的内容。IBM : developerWorks 中国站上有一个很好的例子:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <HD>
  3. <disk name="C">
  4. <capacity>8G</capacity>
  5. <directories>200</directories>
  6. <files>1580</files>
  7. </disk>
  8. <disk name="D">
  9. <capacity>10G</capacity>
  10. <directories>500</directories>
  11. <files>3000</files>
  12. </disk>
  13. </HD>

上面的test.xml文档,描述了某台电脑中硬盘的基本信息(根节点<HD>代表硬盘,<disk>标签代表硬盘分区,从它的name属性可以看出有两个盘符名称为"C"和"D"的分区;每个分区下都包含<capacity>,<directories><files>三个节点,分别代表了分区的空间大小、目录数量、所含文件个数)

下面的程序读取此文件中的信息:

  1. import java.util.*;
  2. import org.jdom.*;
  3. import org.jdom.input.SAXBuilder;
  4. public class Sample1 {
  5. public static void main(String[] args) throws Exception{
  6. SAXBuilder sb=new SAXBuilder();
  7. // Document doc=sb.build("test.xml");
  8. Document doc=sb.build(Sample1.class.getClassLoader().getResourceAsStream("test.xml")); //构造文档对象
  9. Element root=doc.getRootElement(); //获取根元素
  10. List list=root.getChildren("disk");//取名字为disk的所有元素
  11. for(int i=0;i<list.size();i++){
  12. Element element=(Element)list.get(i);
  13. String name=element.getAttributeValue("name");
  14. String capacity=element.getChildText("capacity");//取disk子元素capacity的内容
  15. String directories=element.getChildText("directories");
  16. String files=element.getChildText("files");
  17. System.out.println("磁盘信息:");
  18. System.out.println("分区盘符:"+name);
  19. System.out.println("分区容量:"+capacity);
  20. System.out.println("目录数:"+directories);
  21. System.out.println("文件数:"+files);
  22. System.out.println("-----------------------------------");
  23. }
  24. }
  25. }

运行结果: 
C:\java>java   Sample1 
磁盘信息: 
分区盘符:C 
分区容量:8G 
目录数:200 
文件数:1580 
----------------------------------- 
磁盘信息: 
分区盘符:D 
分区容量:10G 
目录数:500 
文件数:3000

jdom学习读取XML文件的更多相关文章

  1. Spring相关:jdom学习:读取xml文件

    云课堂马士兵的spring2.5课程中提到的 用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类 ...

  2. jdom学习:读取xml文件

    用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IB ...

  3. Jdom读取XML文件

    学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方式--Jdom 首先我们到Jdo ...

  4. 用JDOM读取XML文件

    用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IB ...

  5. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  6. C#读取XML文件的基类实现

    刚到新单位,学习他们的源代码,代码里读写系统配置文件的XML代码比较老套,直接写在一个系统配置类里,没有进行类的拆分,造成类很庞大,同时,操作XML的读写操作都是使用SetAttribute和node ...

  7. python读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

  8. java 读取XML文件作为配置文件

    首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...

  9. (转) 读取xml文件转成List<T>对象的两种方法

    读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法,加上自己知道的另一种实现方法. 就以一个简单的xml做例子. xml格 ...

随机推荐

  1. WinForm中Component Class、User Control及Custom Control的区别和使用-转

    转http://www.cnblogs.com/jhtchina/archive/2010/11/28/1028591.html NET Framework 为您提供了开发和实现新控件的能力.除了常见 ...

  2. 【转】解析Java finally

    下文写的关于Java中的finally语句块什么时候执行的问题.什么时候执行呢?和return.continue.break.exit都有关系,尤其return语句非常有意思,于是分享给大家.谢谢Sm ...

  3. 【BZOJ】【2253】【WC 2010 BeijingWC】纸箱堆叠

    树套树 Orz zyf 我的树套树不知道为啥一直WA……只好copy了zyf的写法TAT 这题还可以用CDQ分治来做……但是蒟蒻不会…… //y坐标的树状数组是按权值建的……所以需要离散化…… /** ...

  4. oracle——分析函数——排序值分析函数

    一.问题描述 查询列表时,我们有时需要对查询结果依据某个字段进行排名. 如果每条记录在排序字段上都不相同,我们可以将原查询作为一个视图,查询其rownum,便可以实现简单排序,例如: select r ...

  5. Unity3D Script Execution Order ——Question

    我 知道 Monobehaviour 上的 那些 event functions 是 在主线程 中 按 顺序调用的.这点从Manual/ExecutionOrder.html 上的 一张图就可以看出来 ...

  6. Lua print on the same line

    In Pascal, I have write and writeln. Apparently Lua's print is similar to writeln of Pascal. Do we h ...

  7. 【leetcode】Majority Element (easy)(*^__^*)

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  8. IP地址总结

    1.网际协议IP : 网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一.与 IP 协议配套使用的还有四个协议: 地址解析协议 ARP (Address Resolution Protoco ...

  9. 02 - 用wxStreamToTextRedirector和wxTextCtrl输出std::cout

    遇到问题,单行显示, new line丢失 原因: wxTextCtrl默认是单行的 解决办法:使用wxTE_MULTILINE参数初始化wxTextCtrl wxTextCtrl *text = , ...

  10. Thread的第一天学习

    1.实现线程的方法: 1)extend Thread 2)implements Runnable 2.下面代码执行哪个run方法: new Thread( new Runnable(){ public ...