- import java.util.List;
- import org.jdom.Document;
- import org.jdom.Element;
- import org.jdom.input.SAXBuilder;
- /**
- * -----------------------------------------
- * http://yuncode.net/code/c_50c883117983e92
- * @文件: XmlDom.java
- * @作者: fancy
- * @郵箱: [email protected]
- * @時間: 2012-6-9
- * @描述: JDOM 解析XML資源 -----------------------------------------
- */
- public class XmlDom {
- /**
- * @方法名: obtainValue
- * @參數名:@param name:屬性名
- * @參數名:@return :返回與屬性名一致的屬性值
- * @描述語: 解析XML數據,返回與屬性名一致的屬性值,查找不到匹配屬性名則返回null
- */
- public static String obtainValue(String name) {
- try {
- // 創建一個SAXBuilder對象
- SAXBuilder saxBuilder = new SAXBuilder();
- // 讀取prop.xml資源
- Document doc = saxBuilder.build("prop.xml");
- // 獲取根元素(prop)
- Element root = doc.getRootElement();
- // 獲取根元素下面的所有子元素(mess)
- List<Element> messList = root.getChildren("mess");
- // 子根元素(mess)
- Element childrenRoot = null;
- // property元素集合
- List<Element> propertyList = null;
- // 遍歷根元素的子元素集合(即遍歷mess元素)
- for (int i = 0; i < messList.size(); i++) {
- // 將根元素prop下的mess子元素作爲一個新的子根元素
- childrenRoot = messList.get(i);
- // 獲取子根元素mess下的所有property子元素
- propertyList = childrenRoot.getChildren("property");
- // 遍歷子根元素的子元素集合(即遍歷property元素)
- for (int j = 0; j < propertyList.size(); j++) {
- // 獲取property元素
- Element element = propertyList.get(j);
- // element.getAttributeValue("name"):獲取property中name屬性的值
- if (element.getAttributeValue("name").equals(name)) { // 如果name的值一致
- return element.getAttributeValue("value"); // 取得name對應的value屬性值
- }
- }
- }
- // 遍歷完沒有查找到結果返回null
- return null;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- }