zoukankan      html  css  js  c++  java
  • 用JDOM读取XML文件

    用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
    -----------------------------------

  • 相关阅读:
    17. Letter Combinations of a Phone Number
    16. 3Sum Closest
    15. 3Sum
    14. Longest Common Prefix
    13. Roman to Integer
    12. Integer to Roman
    11. Container With Most Water
    10. Regular Expression Matching
    9. Palindrome Number
    8. String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/flying607/p/3484245.html
Copyright © 2011-2022 走看看