带命名空间的XSL转换

时间:2016-02-22 21:08:24

标签: xml xslt

这是我的源XML Source XML

我正在尝试提取“StatusCode”

的值

这是我的XSL转换:

XSL

没有命名空间,它的工作正常。

我已经声明了所有名称空间。 我需要申报任何其他的吗?

1 个答案:

答案 0 :(得分:1)

CreateResponse元素及其所有后代位于命名空间http://exacttarget.com/wsdl/partnerAPI中。

您需要在XSLT中声明此命名空间并将其绑定到前缀。然后,您可以在XPath中使用该前缀。

例如......

http://exacttarget.com/wsdl/partnerAPI绑定到前缀papi

xmlns:papi="http://exacttarget.com/wsdl/partnerAPI"

使用前缀:

<xsl:value-of 
    select="soap:Envelope/soap:Body/papi:CreateResponse/papi:Results/papi:StatusCode"/>

此外,正如Martin Zabel在评论中提到的那样,请将您的XML和XSLT添加到问题本身而不是链接图像。这将通过确保始终提供问题的完整背景来帮助未来的访问者。