我试图在select-value中使用参数或变量的值作为节点名,但到目前为止失败了..
所以我的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
答案 0 :(得分:5)
一个疯狂的猜测,让我知道它是否有效:
<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>