dom4j解析xml文件的路径问题

本文介绍DOM4j中SAX解析方式的基本原理及使用方法。重点对比了DOM4j与DOM解析的区别,详细解释了如何通过SAXReader读取XML文件,并展示了如何指定相对路径或绝对路径进行文件读取。此外还提供了遍历XML节点的具体实现。

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

dom4j支持SAX文件流的解析方式,不会像dom一样把文件内容一次读入到内存当中。但在配置其解析对象文件的相对路径时,让我产生疑惑:
String xmlFile = "./config.xml";
SAXReader reader = new SAXReader();
Document doc = reader.read(new File(xmlFile));
这里的这个read方法是被重载的,接口有File;InputStream;URL;甚至String
常用的File的接口,定义的file以项目根目录为参考的相对目录或者绝对路径
如Document doc = reader.read(new File("./config.xml"));
而InputStream是以当前包为参考的相对目录
String xmlFile = "//exporter.config.xml";
InputStream ins = XmlDocument.class.getResourceAsStream(xmlFile);
Document doc = reader.read(ins);

另附:遍历节点的方法:
String xmlPath = "//brokers/broker";
List list= doc.selectNodes(xmlPath);
返回的是以Node为单位的List对象
如果已知Node在该path下只有一个节点,可以调用
Node nd = doc.selectSingleNode(xmlPath);
来获得

以上完成了DOM4j SAX方式读取xml文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值