[java]用jdom方式读xml文件

时间:2021-04-08 20:04:39

首先,要引入jar包:jdom.jar

写test.xml

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


然后写java文件对其进行解析:

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();
    

注意:此处获得文件的方法:

由于test.xml是被放在src目录下,则按照如下方式,将其做为流来读。

    Document doc=sb.build(Sample1.class.getClassLoader().getResourceAsStream("test.xml")); //构造文档对象
    Element root=doc.getRootElement(); //获取根元素HD
    List list=root.getChildren("disk");//取名字为disk的所有元素
    for(int i=0;i<list.size();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("-----------------------------------");
      
    }  
  }