2012-07-17 17 views
5

Chciałem wiedzieć, jak znaleźć pierwszą nazwę węzła podrzędnego określonego węzła w xslt.pierwsza nazwa węzła podrzędnego w xslt

Mam xml:

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

mogę uzyskać nazwę za pomocą ciała/node() [1]/local-name()?

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

Wyjście powinno być

<name> 
    para 
    </name> 
+0

Który element próbujesz wyświetlić? Czy próbujesz wyświetlić nazwę elementu lub zawartość elementu? – freefaller

+0

Po prostu nazwa ... – atif

Odpowiedz

6

Spróbuj coś takiego ...

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

Albo jeśli nie faktycznie trzeba zmienną, po prostu ...

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

Oto xmlplayground t to drugi przykład ... aby zobaczyć <name>para</name> kliknij na View Source w oknie wyjściowym.

+0

@Atif, nie ma za co :-) Upvotes są zawsze miło mieć ;-) – freefaller

Powiązane problemy