我正在使用某些服务进行跟踪功能。它以 XML 格式提供响应。为了解析 XML 响应,我决定使用fast-xml-parser
package.xml 。但有个问题:
当我只收到一项响应时,它运行良好,但如果我有多个类似:
<xsd:events xmlns:xsd="http://somelink/xsd">
<event id=“1234”>
<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”>
<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 */}]
}
我做错了什么,也许需要一些选项或其他东西?寻求帮助和建议。