如何查找以下 XML 的 Xpath,其中包含属性 <dto:telefono> 的命名空间


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"     xmlns:ser="http://service.web.com" xmlns:dto="http://dto.service.web.com">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:service>
         <ser:request>
            <dto:telefono>29932425</dto:telefono>
         </ser:request>
      </ser:service>
   </soapenv:Body>
</soapenv:Envelope>

需要找到属性名称 telefono 的 xpath,尝试了所有这些

//*/*[local-name()='dto:telefono']
//*/*/*[local-name()='telefono']
//*/*/*[local-name()='dto:telefono']
//*/*[local-name()='telefono']
//*[local-name()='dto:telefono']
//*[local-name()='telefono']

所有使用*[local-name()='telefono']的尝试 XPath 都应该有效:

//*[local-name()='telefono']

demo 1

至于dto:telefono,XPath 应该使用 name() 而不是 local-name()

//*[name()='telefono']

demo 2

顺便说一下,dto:telefono元素名称而不是属性名称。

相关内容

最新更新