在我的 xsl 文件中,我收到一个单独的 xml 文档(在我正在转换的主 xml 文档旁边)作为字符串参数(param)
说我的参数名称是 seconddoc
<xsl:param name="seconddoc"></xsl:param>
并且参数值如下(再次,我将整个内容作为字符串)
<products>
<product>
<id>1</id>
<name>pro-1</name>
</product>
<product>
<id>2</id>
<name>pro-2</name>
</product>
<product>
<id>3</id>
<name>pro-3</name>
</product>
</products>
我可以打印整个字符串如下
<xsl:value-of select="$seconddoc" />
但我想迭代数据(字符串)而不是一次获取整个值。我的最终目标是将此数据加载到选择选项中。
我是这样累的:
<select>
<xsl:for-each select="$seconddoc/products/product">
<option value="{id}">
<xsl:value-of select="name" /></option>
</xsl:for-each>
</select>
但我得到了 TransformerException。“从 'java.lang.String' 到 'node-set' 的无效转换。
更新:
这就是我在我的jsp页面中的内容
<x:transform xml="${mainxmldoc}" xslt="${xslt}">
<x:param name="seconddoc" value="<%=xmlString %>"/>
</x:transform>