0

我有这个例子:

<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']但它不起作用

4

1 回答 1

1

严格来说,这些声明不是属性而是命名空间节点。要使用 XPath 获取它们,这取决于您使用的 XPath 版本。

对于 XPath 1,使用:

/*/namespace::*

对于 XPath 2,使用 :fn:in-scope-prefixesfn:namespace-uri-for-prefix来获取前缀和关联的命名空间 uri。

于 2013-07-12T08:07:50.107 回答