2012-07-17 23 views
5

xsltで特定のノードの最初の子ノード名を見つける方法を知りたかったのです。 )(xsltの最初の子ノード名

<name> 
    <body> 
     <para> 
     <text> some text</text> 
     </para> 
    </body> 
    </name> 

は私が体/ノードを(使用して名前を得ることができます)[1] /ローカル名:

私は、XMLを持っていますか?出力は

<name> 
    para 
    </name> 
+0

表示しようとしている要素は何ですか?そして、あなたは要素の名前、または要素の内容を表示しようとしていますか? – freefaller

+0

ちょうど名前... – atif

答えて

6

単に...

<xsl:template match="name"> 
    <name> 
    <xsl:variable name="firstchild" select="name(body/*[1])"/> 
    <xsl:value-of select="$firstchild" /> 
    </name> 
</xsl:template> 

それとも、実際に変数を必要としない場合は...このような何かを試してみてくださいする必要があります

<xsl:template match="name"> 
<name> 
<xsl:variable name="firstchild" select="body/node()[1]/local-name()"> 
         </xsl:variable> 
<xsl:value-of select="$firstchild" /> 
</name> 
</xsl:template> 

<xsl:template match="name"> 
    <name> 
    <xsl:value-of select="name(body/*[1])" /> 
    </name> 
</xsl:template> 

ここにはtのxmlplayground彼は2番目の例... <name>para</name>を見るには、出力ウィンドウのView Sourceをクリックしてください。

+0

@Atif、あなたは大歓迎です:-)アップフォースは、常に持っているといいです;-) – freefaller

関連する問題