我需要使用Xpath從SOAP響應中提取值。這裏是SOAP Repsonse格式:使用xpath從動態SOAP響應中獲取值
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getServiceInfosResponse xmlns:ns1="http://ws.commande.lcm.somecompany.com/">
<return xmlns:ns2="http://ws.commande.lcm.somecompany.com/">
<customer>
<userid>12545646546</userid>
<servicesNumber>3</servicesNumber>
<service>
<serviceid>257</serviceid>
<state>activated</state>
<counterValue></counterValue>
<parametersNumber>0</parametersNumber>
</service>
<service>
<serviceid>692</serviceid>
<state>activated</state>
<counterValue></counterValue>
<parametersNumber>0</parametersNumber>
</service>
<service>
<serviceid>1077</serviceid>
<state>activated</state>
<counterValue>0</counterValue>
<parametersNumber>0</parametersNumber>
</service>
</customer>
</return>
</ns1:getServiceInfosResponse>
</soap:Body>
</soap:Envelope>
我綁獲得的對價標籤的值,其中服務ID是1077 這裏就是我所做的,但它不工作:
/soap:Envelope/soap:Body/ns1:getServiceInfosResponse/return/customer/service/serviceid[text()='1077']/counterValue
與此:
/soap:Envelope/soap:Body/ns1:getServiceInfosResponse/return/customer/service[serviceid='1077']/counterValue
這是活動檢查器的link。
請出了什麼問題
你是什麼語言使用 - java,php,其他? – 2014-09-30 08:59:18
@ web-nomad:沒有語言環境我正在尋找獲取xpath中絕對路徑的值 – MedAli 2014-09-30 09:00:40
第一個XPath是錯誤的,因爲'counterValue'不是'serviceid'的子節點。但是第二個XPath應該可以工作,假設名稱空間前綴正確解決 – har07 2014-09-30 09:00:54