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.     } 

 

你可能感兴趣的:(xml)