<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
是元素名称而不是属性名称。