此例子来源于马士兵老师的Spring2.5的视频
需要使用到JDOM,它的
下载好了之后解压后是这样的(如下图)
把jdom-2.0.6.jar文件导入到你项目中去,做好了在eclipse是这样的
之后编写一个测试xml文件,名叫test.xml,它的内容如下
<?xml version="1.0" encoding="UTF-8"?>
<HD>
<disk name="C">
<capacity>BG</capacity>
<directories>200</directories>
<files>1580</files>
</disk>
<disk name="D">
<capacity>10G</capacity>
<directories>500</directories>
<files>3000</files>
</disk>
</HD>
之后编写读取xml文件的java代码,我给他命名为RealXML.java,内容如下
package com.xiao.test;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
public class RealXML {
public static void main(String[] args) throws Exception {
SAXBuilder saxBuilder = new SAXBuilder();
//构造文档对象
// Document document = saxBuilder.build("src/test.xml");//亦可
//意思是获得当前对象所属的class对象的类装载器,其中的getResourceAsStream的参数是默认则是从ClassPath根下获取,
//path不能以’/'开头,最终是由ClassLoader获取资源。
Document document = saxBuilder.build(RealXML.class.getClassLoader().getResourceAsStream("test.xml"));
//获取根元素
Element root = document.getRootElement();
System.out.println(root.getName());
//获取名字为disk的所有元素
List list = root.getChildren("disk");
for(int i = 0; i < list.size(); i++) {
Element element = (Element)list.get(i);
String name = element.getAttributeValue("name");
//获取disk子元素的capacity内容
String capacity = element.getChildText("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("_____________________");
}
}
}
执行结果如下