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" />

ただし、 SOAP-ENV名前空間プレフィックスが XSLT で定義されていることを確認する必要があります。

ルート要素 (または名前空間) を気にせずに、より一般的なものにしたい場合は、次のようにすることもできます。

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

すでにルート要素に配置されている場合は、さらに簡単になります...

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