2012-11-28 13 views
6

Sto cercando di utilizzare il valore di un parametro o variabile come un nome di nodo all'interno di una value-of select ma finora non è riuscito ..Come utilizzare i parametri oi valori delle variabili come nome nodo?

Quindi il mio XML è come sotto.

<Data> 
<Name>John Smith</Name> 
<Date>28112012</Date> 
<Phone>iphone</Phone> 
<Car>BMW</Car> 
</Data> 

E il mio xslt incompleto si presenta come di seguito.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    version="2.0" 
    exclude-result-prefixes="#all"> 

<xsl:param name="nodename" select="'Name'"/> 

<xsl:template match="/Data"> 

     <Output> 
     <xsl:value-of select="{$nodename}"/> 
     </Output>  
</xsl:template> 

</xsl:stylesheet> 

Idealmente voglio il mettere fuori per essere

<Output>John Smith</Output> 

C'è un modo per farlo utilizzando XSLT? Voglio essere in grado di selezionare il nodo appropriato in base alla scelta dell'utente.

Grazie

SK

risposta

4

un ipotesi, fatemi sapere se funziona:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" exclude-result-prefixes="#all"> 

<xsl:param name="nodename" select="'Name'"/> 
<xsl:template match="/Data"> 
    <Output> 
     <xsl:value-of select="//*[name()=$nodename]" /> 
    </Output>  
</xsl:template> 

</xsl:stylesheet> 
+0

voi grazie, ho appena capito tutto me stesso! – user1859463

+0

@ user1859463 Suppongo che funzioni. XD – xiaoyi

Problemi correlati