我正在使用xslt 3.0(saxon-HE v11.4库)将json转换为Java中的xml。需要帮助以从数组中提取值输入json示例
{ "Details":{ "name":["a","b","c"] } }
需要以下格式的输出
<Details> <name indexarray="0">a</name> <name indexarray="1">b</name> <name indexarray="2">c</name> </Details>
iq0todco1#
使用Saxon 11,您可以将带有-json:input.json等字符的JSON输入XSLT,然后匹配.[. instance of map(*)]等字符
-json:input.json
.[. instance of map(*)]
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="#all" expand-text="yes"> <xsl:output indent="yes"/> <xsl:template match=".[. instance of map(*)]"> <Details> <xsl:iterate select="?Details?name?*"> <name indexarray="{position() - 1}">{.}</name> </xsl:iterate> </Details> </xsl:template> </xsl:stylesheet>
1条答案
按热度按时间iq0todco1#
使用Saxon 11,您可以将带有
-json:input.json
等字符的JSON输入XSLT,然后匹配.[. instance of map(*)]
等字符