我有这个例子:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wor="http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/WorkorderProvider_v01.00"
xmlns:typ="http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/WorkorderProvider_v01.00/types"
xmlns:csdg="http://schemas.telekom.net/csdg_v01.01"
xmlns:typ1="http://system-services.t-home.telekom.de/ServiceManagement/TechnicalOrderManagement/Workorder_v01.00/types"
xmlns:com="http://system-services.t-home.telekom.de/ServiceManagement/OIS_Services_v01.00/common">
<!-- other tags -->
</soapenv:Envelope>
如何通过xpath获取“soapenv:Envelope”标签的属性值?
我尝试了//*:Envelope/@*[local-name()='xmlns:soapenv']
,但它不起作用
答案 0 :(得分:1)
严格地说,这些声明不是属性,而是命名空间节点。要使用XPath获取它们,它取决于您使用的XPath版本。
对于XPath 1,请使用:
/*/namespace::*
对于XPath 2,使用:fn:in-scope-prefixes
和fn:namespace-uri-for-prefix
来获取前缀和关联的命名空间uri。