seguente è il mio file XMLrisultati XPath per stringa vuota
<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>
Quando ho Budila org.w3c.dom.Document da questo XML e XPathExperssion l'applicazione con l'espressione
/xyzevent/subscription/receiver/clientsubscription/servicemap/text()
risultati stringa vuota. Quale può essere il problema con l'espressione?
Grazie
Dopo aver rimosso xmlns = http: //.../v1 questo da entrambi i posti sono in grado di ottenere il valore. Ma puoi spiegarmi come creare NamespaceContext per ottenere quando abbiamo entrambi i valori del namespace nel documento ... – Pokuri
@Pokuri Registra due prefissi separati nel tuo 'NamespaceContext', ad es. 'event' e' source' con gli URI corretti per ciascuno. La tua espressione XPath diventerà '/ event: xyzevent/source: subscription/source: receiver/...' – Barend
Ma NamespaceContext si aspetta un namespaceURI e uno o più prefissi. Quindi, come posso passare due NamespaceContext a XPath.setNamespaceContext (namespaceContext); metodo – Pokuri