gpt4 book ai didi

java - 将 Hashmap 访问到 XSL 时出现问题

转载 作者:行者123 更新时间:2023-12-02 08:44:52 25 4
gpt4 key购买 nike

假设我有一段代码:

 Map mappingId = new HashMap();
mappingId.put("1", "1000");
transformer.setParameter("mappingId", mappingId);

transformer.transform(...);

我有一个简单的 XSLT,尝试从中获取 key

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:map="xalan://java.util.Map"
extension-element-prefixes="map">

<xsl:param name="mappingId" />

<xsl:template match="/">
<xsl:variable name="id" select="map:get($mappingId, '1')" />
<MappedId><xsl:value-of select="id"/></MappedId>

</xsl:template>
</xsl:stylesheet>

我收到以下错误:

错误:'找不到方法 java.util.Map.get([ExpressionContext,] #STRING, #STRING) fatal error :“无法编译样式表”。

有人可以帮我解决如何将 java 映射访问到 XSL 中吗?

最佳答案

“id”参数必须通过附加 $ 来访问。以下 XSL 似乎为我提供了预期的输出(java 1.6)。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:map="xalan://java.util.Map" extension-element-prefixes="map">

<xsl:param name="mappingId" />

<xsl:template match="/">
<xsl:variable name="id" select="map:get($mappingId, '1')" />
<MappedId>
<xsl:value-of select="$id" />
</MappedId>

</xsl:template>
</xsl:stylesheet>

输出:

<?xml version="1.0" encoding="UTF-8"?>
<MappedId>1000</MappedId>

关于java - 将 Hashmap 访问到 XSL 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com