2012-11-28 14 views
6

Próbuję użyć wartości parametru lub zmiennej jako nazwy węzła wewnątrz wartości zaznaczenia, ale jak dotąd nie udało się.Jak używać parametrów lub wartości zmiennych jako nazwy węzła?

Mój XML wygląda tak, jak poniżej.

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

I mój niekompletny xslt wygląda jak poniżej.

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

Idealnie chcę obecnie wprowadzone być

<Output>John Smith</Output> 

Czy jest jakiś sposób mogę to zrobić przy użyciu XSLT? Chcę móc wybrać odpowiedni węzeł na podstawie wyboru użytkownika.

Dzięki

SK

Odpowiedz

4

Dzikie przypuszczenie, daj mi znać, jeśli to działa:

<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

wy dzięki, po prostu zdobione się, jak dobrze! – user1859463

+0

@ user1859463 Myślę, że to działa. XD – xiaoyi

Powiązane problemy