jdom 解析 xml 文件

来源:互联网 发布:李刚疯狂java讲义好吗 编辑:程序博客网 时间:2024/05/15 15:56

prop.xml 

<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?><prop>  <mess>    <property name="sSize" value="52"></property>    <property name="cSize" value="23"></property>    <property name="pSize" value="15"></property>    <property name="aSize" value="25"></property>  </mess></prop>


XmlDom.java

package com.fancy.util;import java.util.List;import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;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("src/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属性值}}}// 遍历完没有查找到结果返回nullreturn null;} catch (Exception e) {e.printStackTrace();}return null;}}


test.java

package test;import com.fancy.util.XmlDom;public class Test {    public static void main(String[] args) {        System.out.println(XmlDom.obtainValue("pSize"));        System.out.println(XmlDom.obtainValue("PSize"));    }}



0 0
原创粉丝点击