我有一个JSON文件,可通过以下字段将其转换为XML格式。对于“格式”和“媒体格式”,它们是整数列表。
"Stars": 4.5000000000,
"Reviews": 11,
"Formats": [5,6],
"MediaFormats": [1, 2]
我的预期结果是
<Price>29</Price>
<Stars>4.5</Stars>
<Reviews>11</Reviews>
<Formats>5,6</Formats>
<MediaFormats>1,2</MediaFormats>
我尝试了XmlDocument xmlDoc = JsonConvert.DeserializeXmlNode
,但实际结果是
<Price>29</Price>
<Stars>4.5</Stars>
<Reviews>11</Reviews>
<Formats>5</Formats>
<Formats>6</Formats>
<MediaFormats>1</MediaFormats>
<MediaFormats>2</MediaFormats>
有什么办法解决这个问题吗?
答案 0 :(得分:0)
使用XSLT对结果进行后处理。没有现成的JSON到XML转换器(或XML到JSON转换器)每次都会为您提供所需的结果。您必须准备对其进行自定义,而XSLT是实现此目的的最佳工具。
您可以使用来实现所需的格式
<xsl:for-each-group select="*" group-adjacent="node-name(.)">
<xsl:copy>
<xsl:value-of select="current-group()" separator=","/>
</xsl:copy>
</xsl:for-each-group>
当然,如果您仍在使用XSLT,那么您可以考虑使用XSLT 3.0的xml-to-json()
和json-to-xml()
函数,因此都可以使用一个工具完成。