1

这适用于静态数据:

<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" />
4

1 回答 1

0

如何让它与动态数据一起使用?:

<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"/>
于 2012-11-14T04:38:54.073 回答