我完全不熟悉xslt,所以请原谅我,如果这是一个愚蠢的问题。 我需要声明一个变量,并将它指向xml中2个可能的节点之一,具体取决于它们实际上存在哪个节点。我想以下几点:使用取决于测试的指定节点到xsl:变量
<xsl:variable name="DealNode">
<xsl:choose>
<xsl:when test="/AllResponse/Deals/Deal"><xsl:copy-of select="/AllResponse/Deals/Deal"/></xsl:when>
<xsl:otherwise><xsl:copy-of select="/AllResponse/BookDeals/BookDeal"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
这似乎工作,在DealNode确实出现了我所期望的。但是,如果我现在这样做:
<xsl:variable name="TradeNode" select="$DealNode/Trades/Trade"/>
TradeNode保持空白。我究竟做错了什么?
示例XML:
<AllResponse>
<Deals>
<Deal>
<Trades>
<Trade>
</Trade>
</Trades>
</Deal>
</Deals>
</AllResponse>
你在使用XSLT 1还是2? – 2012-03-30 17:15:26
对不起,应该说它的xslt 1 .. – StevieG 2012-03-30 17:17:06
@StevieG:注意到目前接受的答案是相当有问题的可能是有用的。欲了解更多信息,请阅读我的答案。 – 2012-03-31 04:14:56