我需要使用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