java dom4j解析_java dom4j解析xml实例(2)

java利用dom4j解析xml 需要的jar包:

dom4j官方网站在 http://www.dom4j.org/

下载dom4j-1.6.1.zip

解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar(如果不导入这个架包程序可以执行出结果,但最后会报异常)

将相关jar包引入后,实际解析操作如下:

1.要解析的xml文件province.xml:

2、具体解析程序如下:

package Demo2;

import java.io.File;

import java.util.Iterator;

import java.util.List;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

public class XMLTest01 {

public static void main(String args[]) throws DocumentException {

SAXReader reader = new SAXReader();

Document document = reader.read(new File("D:/province.xml"));

Element rootElm = document.getRootElement();

//Element root1Elm = rootElm.element("city");

@SuppressWarnings("rawtypes")

List nodes = rootElm.elements("city");

for (@SuppressWarnings("rawtypes")

Iterator it = nodes.iterator(); it.hasNext();) {

Element elm = (Element) it.next();

System.out.println("quName:" + elm.attributeValue("quName")

+ " pyName:" + elm.attributeValue("pyName") + " cityname:"

+ elm.attributeValue("cityname") + " state1:"

+ elm.attributeValue("state1") + " state2:"

+ elm.attributeValue("state2"));

}

try {

Document doc = reader.read(new File("D:/province.xml"));

@SuppressWarnings("rawtypes")

List projects = doc.selectNodes("china/city");

@SuppressWarnings("rawtypes")

Iterator it = projects.iterator();

while (it.hasNext()) {

Element elm = (Element) it.next();

System.out.println("quName:" + elm.attributeValue("quName")

+ " pyName:" + elm.attributeValue("pyName")

+ " cityname:" + elm.attributeValue("cityname")

+ " state1:" + elm.attributeValue("state1")

+ " state2:" + elm.attributeValue("state2"));

}

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

3、项目中需要导入的架包:

24e151cde0eca9433b9c7217f3f55318.png

4、运行结果如下图所示:

2817402e4952de17a83faa29b9bc62a7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值