1

我正在使用某些服务进行跟踪功能。它以 XML 格式提供响应。为了解析 XML 响应,我决定使用fast-xml-parserpackage.xml 。但有个问题:

当我只收到一项响应时,它运行良好,但如果我有多个类似:

<xsd:events xmlns:xsd="http://somelink/xsd">
        <event id=“1234”&gt;
          <packetCode>ABC123</packetCode>
          <eventCode>EVENT_CODE</eventCode>
          <eventDate>2020-12-03T14:34:09.000+02:00</eventDate>
          <stateCode>STATUS_CODE</stateCode>
          <eventSource zip=“123">Some place</eventSource>
        </event>
        <event id=“456”&gt;
          <packetCode>DEF456</packetCode>
          <eventCode>EVENT_CODE</eventCode>
          <eventDate>2020-12-03T14:40:44.000+02:00</eventDate>
          <stateCode>STATUS_CODE</stateCode>
          <eventSource zip=“123">Some place</eventSource>
        </event>
      </xsd:events>

const xmlParser = require('fast-xml-parser');
xmlParser.parse(exampleXml);

我得到一个只有最后一个元素的对象:

{
    'xsd:events': {
      event: {
        packetCode: 'DEF456',
        eventCode: 'EVENT_CODE',
        eventDate: '2020-12-03T14:40:44.000+02:00',
        stateCode: 'STATUS_CODE',
        eventSource: 'Some place',
      }
    }
  }

但我希望得到这两个事件的数组。让它看起来像这样会很好:

{
    'xsd:events': [{/* event data */}, {{/* event data */}]
  }

我做错了什么,也许需要一些选项或其他东西?寻求帮助和建议。

4

1 回答 1

1
于 2020-12-04T16:30:28.147 回答