0

您好,我有以下 XML

<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:Envelope 根标记中有这个属性“someID”。是否可以使用 XSLT 1.0 读取该属性的内容(我想要“ID123”)?如果是,如何?

亲切的问候阿列克斯

4

1 回答 1

0

也许我遗漏了一些东西,但这应该很简单。要获取 SOAP:Envelope 元素上的属性值,您可以这样做

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

不过,您需要确保在 XSLT 中定义了SOAP-ENV名称空间前缀。

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

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

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

<xsl:template match="/*">
   <xsl:value-of select="@someID" />
</xsl:template>
于 2012-11-16T09:37:13.540 回答