2012-11-16 33 views
0

获取从SOAP信封属性你好我有以下XML使用XSLT

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" ... someID="ID123"> 
    <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><endpoints> 
... 

比方说一些奇怪的原因我已经在SOAP-ENV这个属性“someID”:信封根标签。是否可以使用XSLT 1.0(我想拥有“ID123”)读取该属性的内容?如果是,如何?

亲切的问候 阿莱克斯

回答

0

也许我失去了一些东西,但是这应该是相当直接的。要获得关于SOAP属性的值:Envelope元素,你可以做到这一点

<xsl:value-of select="/SOAP-ENV:Envelope/@someID" /> 

您将需要确保SOAP-ENV命名空间前缀在XSLT定义是怎样的。

如果你想让它更通用,而不用担心什么的根元素(或命名空间是),你也可以做到这一点

<xsl:value-of select="/*/@someID" /> 

而且如果你已经定位在根元素,它变得更简单...

<xsl:template match="/*"> 
    <xsl:value-of select="@someID" /> 
</xsl:template> 
+0

第二个解决方案(/ */@ someID)为我解决了这个问题。非常感谢你。 – Aleks