读取自定义JSON并以XML填充数据

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

我需要解析这样的自定义.json文件:

 {"04 Device Name " : 
{
      "ECU_1":
      {
      "01 Diagnostic"        : "OK",
      "02 CAN Id"            : "123456789"
,
       "01 SoftwareVersion "     : {
       "01 DID" : "123456789",
       "02 Value " : "123456789"
      }
,
       "02 HardwareVersion "     : {
       "01 DID" : "123456789",
       "02 Value " : "123456789"
      }

}
}

进入这样的自定义.xml中

<Component>
            <ECUShortName>ECU_1</ECUShortName>
            <LocationShortName>ECU_1_1</LocationShortName>
            <LocationAccessKey>[Protocol]UDS_CAN_D.[EcuBaseVariant]BC_F213.[EcuVariant]123456789</LocationAccessKey>
            <DiagnosticInfo>
                <DiagnosticInfoValue>123456789</DiagnosticInfoValue>
            </DiagnosticInfo>
            <CommunicationProtocol>UDS</CommunicationProtocol>
            <CommunicationState>8</CommunicationState>
            <DTCCount>
                <DTCCountValue>4</DTCCountValue>
            </DTCCount>
            <SWHWInformation>
                <Software>
                    <PartNumber>
                        <PartNumberValue>123456789</PartNumberValue>
                    </PartNumber>
                    <Version>
                        <VersionValue>17/38/00</VersionValue>
                    </Version>
                    <Category>2</Category>
                    <Supplier>
                        <Code>1234</Code>
                        <Name>Supplier_1</Name>
                    </Supplier>
                </Software>
                <Hardware>
                    <PartNumber>
                        <PartNumberValue>123456789</PartNumberValue>
                    </PartNumber>
                    <Version>
                        <VersionValue>15/44/01</VersionValue>
                    </Version>
                    <Supplier>
                        <Code>1234</Code>
                        <Name>Supplier_1</Name>
                    </Supplier>
                </Hardware>
            </SWHWInformation>

我几乎可以使用任何一种语言,但是想不到最合适的一种。VisualBasic适用于XML,JS适用于JSON。但是它使用JSON格式不正确...

您有什么想法,怎么做?

json xml parsing xml-parsing jsonparser
1个回答
0
投票

XSLT 3.0对此非常有用。您可以只编写XML样式的模板,并使用从JSON提取的值填充它:

<xsl:variable name="json" select="json-doc('input.json')"/>
<Component>
    <ECUShortName>{$json?ECU_SHORT_NAME}</ECUShortName>
    <LocationShortName>{$json?Location?ShortName}</LocationShortName>

当然,这只是一个草图,因为您只提供了实际数据的草图。

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