【实例】在java中如何获取xml文件数据

此例子来源于马士兵老师的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("_____________________");
		}
	}
}

执行结果如下



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值