Jdom解析XML

 

 

  1. import java.util.List; 
  2. import org.jdom.Document; 
  3. import org.jdom.Element; 
  4. import org.jdom.input.SAXBuilder; 
  5.  
  6. /** 
  7.  * ----------------------------------------- 
  8.  *  http://yuncode.net/code/c_50c883117983e92
  9.  * @文件: XmlDom.java 
  10.  * @作者: fancy 
  11.  * @郵箱: [email protected] 
  12.  * @時間: 2012-6-9 
  13.  * @描述: JDOM 解析XML資源 ----------------------------------------- 
  14.  */ 
  15. public class XmlDom { 
  16.  
  17.     /** 
  18.      * @方法名: obtainValue 
  19.      * @參數名:@param name:屬性名 
  20.      * @參數名:@return :返回與屬性名一致的屬性值 
  21.      * @描述語: 解析XML數據,返回與屬性名一致的屬性值,查找不到匹配屬性名則返回null 
  22.      */ 
  23.     public static String obtainValue(String name) { 
  24.         try { 
  25.             // 創建一個SAXBuilder對象 
  26.             SAXBuilder saxBuilder = new SAXBuilder(); 
  27.             // 讀取prop.xml資源 
  28.             Document doc = saxBuilder.build("prop.xml"); 
  29.             // 獲取根元素(prop) 
  30.             Element root = doc.getRootElement(); 
  31.             // 獲取根元素下面的所有子元素(mess) 
  32.             List<Element> messList = root.getChildren("mess"); 
  33.             // 子根元素(mess) 
  34.             Element childrenRoot = null
  35.             // property元素集合 
  36.             List<Element> propertyList = null
  37.             // 遍歷根元素的子元素集合(即遍歷mess元素) 
  38.             for (int i = 0; i < messList.size(); i++) { 
  39.                 // 將根元素prop下的mess子元素作爲一個新的子根元素 
  40.                 childrenRoot = messList.get(i); 
  41.                 // 獲取子根元素mess下的所有property子元素 
  42.                 propertyList = childrenRoot.getChildren("property"); 
  43.                 // 遍歷子根元素的子元素集合(即遍歷property元素) 
  44.                 for (int j = 0; j < propertyList.size(); j++) { 
  45.                     // 獲取property元素 
  46.                     Element element = propertyList.get(j); 
  47.                     // element.getAttributeValue("name"):獲取property中name屬性的值 
  48.                     if (element.getAttributeValue("name").equals(name)) { // 如果name的值一致 
  49.                         return element.getAttributeValue("value"); // 取得name對應的value屬性值 
  50.                     } 
  51.                 } 
  52.             } 
  53.             // 遍歷完沒有查找到結果返回null 
  54.             return null
  55.         } catch (Exception e) { 
  56.             e.printStackTrace(); 
  57.         } 
  58.         return null
  59.     } 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章