以下是我的XML文件XPath的结果空字符串
<xyzevent xmlns="http://www.xyz.com/common/xyzevent/v1" xmlns:xsi="http://www.w3.org2001XMLSchema-instance">
<header>
----
</header>
<subscription xmlns="http://www.xyz.com/common/xyzevent/source/v1">
<sender></sender>
<receiver>
<clientsubscription>
<servicemap>nanna</servicemap>
</clientsubscription>
</receiver>
</subscription>
</xyzevent>
当我budila org.w3c.dom.Document中从该XML和应用XPathExperssion与表达
/xyzevent/subscription/receiver/clientsubscription/servicemap/text()
结果空字符串。这个表达式有什么问题?
谢谢
删除xmlns = http://.../v1后,我可以从这两个地方获得值。但是,你能否向我解释如何在我们在文档中同时创建名称空间值时创建NamespaceContext ... – Pokuri
@Pokuri在'NamespaceContext'中注册两个单独的前缀,例如, 'event'和'source'都有适当的URI。您的XPath表达式将成为'/ event:xyzevent/source:subscription/source:receiver/...' – Barend
但NamespaceContext需要一个namespaceURI和一个或多个前缀。那么如何将两个NamespaceContext传递给XPath.setNamespaceContext(namespaceContext);方法 – Pokuri