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

问题描述 投票:0回答:1

我有一个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>

任何想法如何解决此问题?

json xml xmldocument
1个回答
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()函数,因此都可以使用一个工具完成。

© www.soinside.com 2019 - 2024. All rights reserved.