J'ai un résultat SOAP XML: Comme vous pouvez le voirXML + XPATH: Toute façon de travailler avec un espace de noms par défaut?
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateCIInStockResponse xmlns="http://somenamespace.com/">
<CreateCIInStockResult>
<Status>OK</Status>
<Data>SOMERESULT</Data>
</CreateCIInStockResult>
</CreateCIInStockResponse>
</soap:Body>
</soap:Envelope>
, l'espace de nom défini dans CreateCIInStockResponse utilise un espace de noms par défaut - aucun préfixe défini.
je peux obtenir à la fois Statut et données si nous utilisons
/soap:Envelope/soap:Body/node()/node()/node()/text()
Ai-je raison, qu'il n'y a aucun moyen - en utilisant XPath - pour accéder au contenu de « données » directement?
Mon problème est, que je ne peux ni modifier l'appel au webservice ni modifier le résultat revenant du webservice. Tout ce que je peux faire est d'utiliser un XPath pour extraire mes données.
Des suggestions?
Quel est l'analyseur xml sous-jacent que vous utilisez? Vtd-xml vous permet en réalité d'accéder à l'espace de noms par défaut si elle n'est pas préfixée. –
Je n'utilise pas l'analyseur moi-même. C'est une application compilée complète (comme dans la boîte noire) qui prend XML d'un côté, XPATH de l'autre côté. Elle fait quelque chose, obtient une valeur et continue à travailler avec cette valeur. – BlaM