这适用于静态数据:
<xsl:variable name="ExtensionData3">
<images>
<image id="10842" width="2450" height="2200" default="1" />
<image id="10543" width="2450" height="2200" default="0" />
<image id="10544" width="2450" height="2200" default="0" />
</images>
</xsl:variable>
<xsl:value-of select="msxsl:node-set($ExtensionData3)/images/image[@default='1']/@id" />
如何使其处理动态数据?
<xsl:variable name="ExtensionData3">
<xsl:value-of select="XMLData" />
</xsl:variable>
<xsl:value-of select="msxsl:node-set($ExtensionData3)/images/image[@default='1']/@id" />
如何使其处理动态数据?
<xsl:variable name="ExtensionData3"> <xsl:value-of select="XMLData" /> </xsl:variable> <xsl:value-of select="msxsl:node-set($ExtensionData3)/images/image[@default='1']/@id"
/>
错误位于以下行中:
<xsl:value-of select="XMLData" />
这将输出(使用)当前节点的第一个XMLData
子节点的字符串值创建文本节点。
但是你不想要字符串 - 你希望节点被复制。
正确的方法是:
<xsl:copy-of select="XMLData" />
更好的是,在这种情况下,您根本不需要创建RTF,然后将其转换为临时树 - 只需使用:
<xsl:variable name="ExtensionData3" select="XMLData"/>