2012-11-28 60 views
6

我试图用一个参数或变量的值作为节点名称的内部价值的选择,但至今未能..如何使用参数或变量值作为节点名称?

所以我的XML如下所示。

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

而我的不完整的xslt如下所示。

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

理想我想出去放是

<Output>John Smith</Output> 

有什么办法,我可以做到这一点使用XSLT? 我希望能够根据用户的选择来选择合适的节点。

感谢

SK

回答

4

胡乱猜测,让我知道,如果它的工作原理:

<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

你们,谢谢,我只是理解了它自己的! – user1859463

+0

@ user1859463我想它的工作原理。 XD – xiaoyi

相关问题