xml-dom4j-xpath

本文介绍如何使用DOM4J结合XPath进行XML文件解析。通过一个具体的案例展示了如何选取特定节点及属性,特别关注跨层级的数据获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml version="1.0" encoding="utf-8"?>
     <AAA> 
          <BBB id = "b1">
          	<CCC>
          		<KKK>K1</KKK>
          	</CCC>
          	<CCC>
          		<KKK>K2</KKK>
          	</CCC>
          </BBB> 
          <BBB id = "b2"/> 
          <BBB name = "bbb"/> 
          <BBB/> 
     </AAA> 
    


package com.dom4jxpath.test;

import java.io.File;
import java.util.List;

import org.dom4j.*;
import org.dom4j.io.*;

public class dom4jxpath {
	
	//dom4j 配合 xpath 案例
	public static void main(String[] args) throws Exception {
		//1.得到SAXRead 解析器
		SAXReader saxReader = new SAXReader();
		//2.指定去解析哪个文件
		Document document = saxReader.read(new File("src/com/dom4jxpath/test/test.xml"));
		//3.得到根元素(这里已经没有必要再得到根元素了 直接使用document即可)
		//Element element = document.getRootElement();
		//4.使用xpath 随便取
		//List e = document.selectNodes("/AAA/BBB[last()]");//返回多个元素document.selectSingleNode(arg0)返回一个元素
		
		//System.out.println(e.size()+((Element)e.get(0)).getText());
		//取出属性
		//List e = document.selectNodes("//@id");
		//System.out.println(((Attribute)e.get(1)).getText());
		//跨层读取案例
		List e = document.selectNodes("/AAA/BBB[1]/CCC[2]/KKK");
		System.out.println(((Element)e.get(0)).getText());
	}
}
 

说明:使用 xpath 还需要引入jar包dom4j-1.6.1.jar   jaxen-1.1-beta-6.jar。具体的操作可以参照xpath的帮助文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蟹道人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值