Dom4j使用xpath查询xml文

Dom4j使用xpath查询带有命名空间的xml文件

方式1

忽略命名空间

java 复制代码
DocumentFactory factory = DocumentFactory.getInstance();
SAXReader reader = new SAXReader(factory);
Document document = reader.read(xmlFilePath);
Element rootElement = document.getRootElement();
Node node = document.selectSingleNode("//*[local-name()='NOC']/*[local-name()='Section' and @fileRef='nncFireGround.xml']/*[local-name()='NavigationItem' and @idRef='CHDEDCHHA6']");

方式2

定义前缀

java 复制代码
Map<String,String> map = new HashMap<>();
map.put("s","http://www.boeing.com/FTID-ML");
factory.setXPathNamespaceURIs(map);

XPath xPath = factory.createXPath("/s:NOC/s:Section[@fileRef='nncFireGround.xml']/s:NavigationItem[@idRef='CHDEDCHHA6']");
Node node = xPath.selectSingleNode(document);
相关推荐
椰椰椰耶3 小时前
【MyBatis】XML实现,配置方法和增、删、改、查
xml·oracle·mybatis
旷世奇才李先生19 小时前
XML Schema 安装使用教程
xml
ddfa12341 天前
XML 笔记
xml·服务器
一勺菠萝丶2 天前
Spring Boot + MyBatis/MyBatis Plus:XML中循环处理List参数的终极指南
xml·spring boot·mybatis
李少兄14 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
阳光开朗_大男孩儿14 天前
XML读取和设置例子
xml·java·数据库
悟能不能悟16 天前
在 MyBatis 的xml中,什么时候大于号和小于号可以不用转义
xml·java·mybatis
慌糖16 天前
XML重复查询一条Sql语句??怎么解决
xml·数据库·sql
胖大和尚16 天前
在 XML 节点名称前添加前缀
xml
casual_clover17 天前
Android 中 解析 XML 字符串的几种方式
android·xml