Jdom 解析 XML
2013-05-30 18:06
141 查看
先创建一个 xml 文件,并把它放置到项目的根目录下: prop.xml
<?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>
下面要实现的是通过不同的 name 属性值来获得其对应的 vaule 的属性值,这里是用 jdom 来解析XML数据,所以需要导入 jdom 所需的jar包,我这里用的是 jdom-2.0.0.jar
XmlDom.java
package com.fancy.util; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; /** * ----------------------------------------- * @文件: 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; } }
最后来创建一个简单的测试类即可
package test; import com.fancy.util.XmlDom; /** * ----------------------------------------- * @文件: Test.java * @作者: fancy * @邮箱: fancyz@yeah.net * @时间: 2012-6-9 * @描述: 测试类 * ----------------------------------------- */ public class Test { public static void main(String[] args) { System.out.println(XmlDom.obtainValue("pSize")); System.out.println(XmlDom.obtainValue("PSize")); } }
相关文章推荐
- Java 之用jdom 解析XML(一)
- DOM,SAX,JDOM,DOM4J优缺点比较及生产xml和解析xml
- Java解析XML:Jdom解析和SAX解析
- jdom解析xml
- jdom解析XML
- Java解析xml——DOM、SAX、JDOM和DOM4J四种方式的汇总与比较
- xml文档解析之DOM、SAX、JDOM、Dom4J总结
- jdom解析xml
- jdom (dom4j)解析xml出错、校验dtd文件不生效
- jdom解析xml, API使用、详解、实例说明
- java使用jdom架包解析xml字符串dom原理并保存map对象
- java解析xml(JDOM)
- Jdom解析XML
- Jdom解析XML文档
- xml--通过jdom解析及生产XML
- 使用JDOM解析XML(转载,简单又详细)
- 四种方法解析XML文档:Dom、SAX、JDOM、dom4j
- JDOM生成、解析XML实例
- xml之JDOM解析(含乱码处理)