将 JSON 列表转换为 XML 并保持格式

Convert JSON list into XML and keep the format

我有一个 JSON 文件要转换成 XML 格式,其中包含以下字段。对于 "Formats" 和 "MediaFormats",它们是整数列表。

    "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>

知道如何解决这个问题吗?

Post-使用 XSLT 处理结果。没有现成的 JSON-to-XML 转换器(或 XML-to-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() 功能,这样一切都可以通过一个工具完成。