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

  • 相关阅读:
    vue2 v-model/v-text 中使用过滤器的方法示例
    HTML5游戏开发案例教程合集
    Docker实战案例视频课程
    Java项目框架架构与优化教程
    Linux云计算-虚拟化技术视频教程
    udl
    Chloe官网及基于NFine的后台源码毫无保留开放
    抽象类存在的意义和作用
    Shell 脚本语法
    Github 高级搜索功能
  • 原文地址:https://www.cnblogs.com/flying607/p/3484245.html
Copyright © 2011-2022 走看看