package JdomTest;
/**
* @author Administrator
* @version 2017-1-14
* @description JDOM 对xml文件进行解析
*/
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
public class JdomSample {
public static void main(String[] args)
{
SAXBuilder sb = new SAXBuilder();//构造一个org.jdom2.input.SAXBuilder对象
Document doc = null;
try
{
doc = sb.build(JdomSample.class.getClassLoader().getResourceAsStream("test.xml"));//构造文本对象
Element root=doc.getRootElement();//获取根元素HD
List list = root.getChildren("disk");//获取根元素的所有名字为disk的子元素
//遍历所有disk元素
for(int i=0;i<list.size();i++){
Element element =(Element)list.get(i);//取得第i个disk元素
String name = element.getAttributeValue("name");//取得第i个disk元素属性值,并存入字符串变量name中
String capacity = element.getChildText("capacity");//取得第i个disk元素的capacity子元素的文本值,并存入字符串变量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(".........................................................");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<HD>
<!-- 描述电脑中的C盘信息 -->
<disk name="C">
<capacity>20G</capacity>
<directories>100</directories>
<files>123456</files>
</disk>
<!-- 描述电脑中D盘信息 -->
<disk name="D">
<capacity>300G</capacity>
<directories>999</directories>
<files>987654</files>
</disk>
</HD>