1. 程式人生 > >jdom解析xml檔案簡單例項

jdom解析xml檔案簡單例項

為什麼要用JDOM? 
JDOM是網上流行開源的XML的操作類,用起來簡單方便.與他對應的還有幾個非常流行的框架,dom4j也是很好用的。但他們各有側重點。下面是一個jdom的使用例子,有JAVA功底的人一下就應該能看懂。 
jdom官方地址 http://www.jdom.org/ 

配製檔案(要放在src的根目錄下) test.xml 
Xml程式碼  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <HD>  
  3.     <disk name="C">  
  4.         <capacity>8G</capacity
    >  
  5.         <directories>200</directories>  
  6.         <files>1580</files>  
  7.     </disk>  
  8.     <disk name="D">  
  9.         <capacity>10G</capacity>  
  10.         <directories>500</directories>  
  11.         <files>3000</files>  
  12.     </disk>  
  13. </
    HD>  
類 Sample1 
Java程式碼  
  1. package com.phl;  
  2. import java.util.List;  
  3. import org.jdom.Document;  
  4. import org.jdom.Element;  
  5. import org.jdom.input.SAXBuilder;  
  6. public class Sample1 {  
  7.     public static void main(String[] args) throws Exception {  
  8.         SAXBuilder sb = new SAXBuilder();// 建立一個SAXBuilder物件
      
  9.         Document doc = sb.build(Sample1.class.getClassLoader().getResourceAsStream("test.xml"));  
  10.         // 構造文件物件  
  11.         Element root = doc.getRootElement(); // 獲取根元素  
  12.         List list = root.getChildren("disk");// 取名字為disk的所有元素  
  13.         for (int i = 0; i < list.size(); i++) {  
  14.             Element element = (Element) list.get(i);  
  15.             String name = element.getAttributeValue("name");// 獲取元素中屬性為name的值  
  16.             String capacity = element.getChildText("capacity");// 取disk子元素capacity的內容  
  17.             String directories = element.getChildText("directories");  
  18.             String files = element.getChildText("files");  
  19.             System.out.println("磁碟資訊:");  
  20.             System.out.println("分割槽碟符:" + name);  
  21.             System.out.println("分割槽容量:" + capacity);  
  22.             System.out.println("目錄數:" + directories);  
  23.             System.out.println("檔案數:" + files);  
  24.             System.out.println("-----------------------------------");  
  25.         }  
  26.     }  
  27. }