Jdom解析XML


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
 * @邮箱: fancyz@yeah.net
 * @时间: 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;
	}
}

http://yuncode.net/code/c_50c883117983e92

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值