0

こんにちは、助けが必要です。XSLTを学び始めたばかりです

属性から値を取得する必要がありますが、属性の名前は常に異なります。属性の名前を取得できます

属性の名前は、たとえば「TEST」です。

この作品

<xsl:param name="thisNode" select="."/>
<xsl:value-of select="$thisNode/@TEST "/>   

このようなことをする必要がありますが、期待どおりに機能しません:/

<xsl:param name="thisNode" select="."/>
<xsl:variable name="AttrName" select="'TEST'" />
<xsl:value-of select="$thisNode/@$AttrName "/>   

やり方はこんな感じ??ありがとうございます。

4

1 に答える 1

1

これを試して...

<xsl:value-of select="$thisNode/@*[name()=$AttrName]"/>   

@* はすべての属性を返し、条件を適用して「name()」が一致するものだけを取得します。

余談ですが、現在のノードをチェックするだけであれば、ここでthisNode変数を使用する必要はありません。これもうまくいくはずです

<xsl:value-of select="@*[name()=$AttrName]"/>   
于 2013-10-24T15:00:35.240 に答える