xpath解析xml文件

最近在做xml文件的解析,需要获取其中某些节点或某些属性,一开始用循环来做,显得很蠢,后来了解到dom4j,以及xpath,代码可读性显著增强。


首先取得xml文件的根结点

SAXReader reader = new SAXReader();
File file = new File("books.xml");
Document document = reader.read(file);
Element root = document.getRootElement();

重点说明xpath用法

String xpath1 = "node/node/node[@name='xiaoming']";
String xpath2 = "following-sibling::*[1]";
String xpath3 = "//node/node[@name='xiaohong'];

List<Node> nodeList1 = root.selectNodes(xpath1);
Node node = root.selectSingleNode(xpath2);
List<Node> nodeList2 = root.selectNodes(xpath3);

nodeList1是root节点下的所有符合  node节点下node节点下的符合name属性=xiaoming的所有node节点

nodeList2是整个文档中所有符合  node节点下的符合name属性=xiaohong的所有node节点

node是root节点下的第一个兄弟节点(索引从1开始),如果没有则为null

获取到节点之后就可以进行获取节点属性之类的操作了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值