【问题标题】:Read custom JSON and fill data in XML读取自定义 JSON 并在 XML 中填充数据
【发布时间】:2019-11-12 12:14:35
【问题描述】:

我需要像这样解析一个自定义的 .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 之间几乎没有任何联系……你是要补 SupplierName、Category、VersionValue 吗?
  • 这些只是示例。所有信息都在 Json 中。
  • 问题应包含完整且准确的输入、输出和预期样​​本。你现在期待什么样的答案?
  • 对不起,以后会做的。

标签: json xml parsing xml-parsing jsonparser


【解决方案1】:

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>

等等

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

【讨论】:

    猜你喜欢
    • 2019-02-16
    • 2022-10-08
    • 1970-01-01
    • 2018-02-06
    • 2012-04-30
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多