xPath表达式不会产生预期值

时间:2016-06-06 09:47:09

标签: xml xpath soap

当我尝试执行此xPath表达式时

//s:Envelope/s:Body/get_serviceDetail/serviceKey/text()

针对此XML文档

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <get_serviceDetail generic="1.0" xmlns="urn:uddi-org:api">
      <serviceKey>66</serviceKey>
    </get_serviceDetail>
  </s:Body>
</s:Envelope>

我总是不配,我看不出为什么

任何人都可以帮我吗?我确信它必须是非常明显的,我错过了。

1 个答案:

答案 0 :(得分:1)

您应该在使用库的方法使用xpath之前注册命名空间(它更正确)或使用技巧

//s:Envelope/s:Body/*[name() = "get_serviceDetail"]/*[name()="serviceKey"]/text()