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

<?xml version="1.0" encoding="UTF-8"?>
<HD>
  <disk name="C">
    <capacity>8G</capacity>
    <directories>200</directories>
    <files>1580</files>
  </disk>
  <disk name="D">
    <capacity>10G</capacity>
    <directories>500</directories>
    <files>3000</files>
  </disk>
</HD>

上面的sample.xml文档,描述了某台电脑中硬盘的基本信息(根节点<HD>代表硬盘,<disk>标签代表硬盘分区,从它的name属性可以看出有两个盘符名称为"C"和"D"的分区;每个分区下都包含<capacity>,<directories><files>三个节点,分别代表了分区的空间大小、目录数量、所含文件个数)
下面的程序读取此文件中的信息:
import java.util.*;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
public class Sample1 {
  public static void main(String[] args) throws Exception{ 
    SAXBuilder sb=new SAXBuilder();
    Document doc=sb.build("sample.xml"); //构造文档对象

  //Document doc=sb.build(Sample1.class.getClassLoader().getResourceAsStream("sample.xml")); //构造文档对象

    Element root=doc.getRootElement(); //获取根元素
    List list=root.getChildren("disk");//取名字为disk的所有元素
    for(int i=0;i<list.size();i++){
       Element element=(Element)list.get(i);
       String name=element.getAttributeValue("name");
       String capacity=element.getChildText("capacity");//取disk子元素capacity的内容
       String directories=element.getChildText("directories");
       String files=element.getChildText("files");
       System.out.println("磁盘信息:");
       System.out.println("分区盘符:"+name);
       System.out.println("分区容量:"+capacity);
       System.out.println("目录数:"+directories);
       System.out.println("文件数:"+files);
       System.out.println("-----------------------------------");
    }  
  }
}
运行结果:
C:\java>java   Sample1
磁盘信息:
分区盘符:C
分区容量:8G
目录数:200
文件数:1580
-----------------------------------
磁盘信息:
分区盘符:D
分区容量:10G
目录数:500
文件数:3000
-----------------------------------

最新文章

  1. Ubuntu Linux上安装oracle jdk
  2. 基于Chromium构建Chrome WebBrowser for .net 控件(还有点心得体会)
  3. 领域驱动设计(DDD)实现之路
  4. 1140 Jam的计数法
  5. 自定义Toast的显示效果
  6. JavaFX 2 Dialogs
  7. jquery弹出层拖拽
  8. Java的重载和重写差别(面试常见)
  9. mysql数据文件迁移到新的硬盘分区的方法
  10. LeetCode OJ 226. Invert Binary Tree
  11. 剑指Offer——美团内推+校招笔试题+知识点总结
  12. JVM内存分配与垃圾回收机制管理
  13. mybatis中怎样使用having?
  14. zabbix问题记录
  15. 巧用ELK快速实现网站流量监控可视化
  16. rbtposeekf的注意事项
  17. day06作业---字典循环
  18. Linux内核分析第五章读书笔记
  19. 大数据智能SOC解决方案
  20. FormatMessage函数

热门文章

  1. 杀掉TOMCAT并重启的脚本
  2. 胖AP与瘦AP区别
  3. [jquery] ajax 调试
  4. Ubuntu下安装 Phantomjs
  5. Dijkstra【p3003(bzoj2100)】[USACO10DEC]苹果交货Apple Delivery
  6. 洛谷——P1407 工资
  7. 自定义编写jmeter的Java测试代码
  8. [UOJ206]Gap
  9. 【带修莫队】【权值分块】bzoj3196 Tyvj 1730 二逼平衡树
  10. 【块状树】【LCA】bzoj1787 [Ahoi2008]Meet 紧急集合