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);
相关推荐
那个失眠的夜10 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis
mfxcyh13 小时前
基于xml、注解、JavaConfig实现spring的ioc
xml·java·spring
vortex516 小时前
SOAP 协议中的 XML 外部实体注入(XXE)漏洞
xml·网络安全·渗透测试
Dxy123931021616 小时前
Python如何对XML进行格式化
xml·python
2501_930707782 天前
使用C#代码将 HTML 转换为 PDF、XPS 和 XML
xml·pdf
研來如此6 天前
tinyxml2 常用读取接口对照表
xml·c++·tinyxml2
pupudawang8 天前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
jf加菲猫8 天前
第10章 数据处理
xml·开发语言·数据库·c++·qt·ui
Java成神之路-8 天前
序列化协议全解析:XML、SOAP、JSON 与 Protobuf 实战对比及 Protobuf 演进方案
xml·json
帅次8 天前
WebView 并发初始化竞争风险分析
android·xml·flutter·kotlin·webview·androidx·dalvik