【发布时间】:2021-11-04 10:44:23
【问题描述】:
在 XSLT 中解析 JSON 数据并尝试获取指定的键值。我已经控制了 XSLT 在解析 JSON 时生成的 XML 映射,并且确实找到了值为“car”的键。
问题:我没有在结果中得到预期值。
您可以在此处找到代码:xsltfiddle
此处添加相同的代码:
JSON:
<data>
{
"storage": {
"car": "Volvo"
}
}
</data>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:output method="xml" indent="yes" html-version="5"/>
<!-- Block all data that has no user defined template -->
<xsl:mode on-no-match="shallow-skip"/>
<!-- Transform JSON to XML -->
<xsl:template match="data">
<xsl:apply-templates select="json-to-xml(.)/*"/>
<!-- Select -->
<xsl:value-of select="//*[@key='car']"/>
</xsl:template>
<!-- Print map -->
<!--
<xsl:template match="*[@key = 'storage']">
<xsl:copy-of select=".."/>
</xsl:template>
-->
</xsl:stylesheet>
结果
<?xml version="1.0" encoding="UTF-8"?>
想要的结果
<?xml version="1.0" encoding="UTF-8"?>
Volvo
【问题讨论】: