使用Node-RED迭代XML数据并跟踪处理的元素

问题描述

我正在使用Node-RED读取返回数据数组的Xsql端点。这些数据没有任何形式可用于识别每个元素,因此在迭代数据时,我需要弄清楚一些聪明的东西。

到目前为止,我要做的是读取数据,将其重新格式化为JSON(以使其以后更容易使用。但是,我需要跟踪已处理的数据。我不确定是哪个我想尝试读取流变量,但我也无法使它正常工作。请帮忙!

enter image description here

流程说明:

  1. 获取Xsql
  2. 解析为XML
  3. 获取<WINNER />数组
  4. 重新格式化为JSON并通过以下方式进行迭代:
var winners = [];

for (i = 0; i < msg.payload.length; i++) {
    
    const dateString = msg.payload[i].DATE[0].split('.');
    const timeString = msg.payload[i].TIME[0];
    
    const dateTimeString = new Date(dateString[2] + '-' + dateString[1] + '-' + dateString[0] + ' ' + timeString);
    
    //if (flow.get('lastTimestamp') == dateTimeString) break;
    
    const winner = {
        'shop': msg.payload[i].SHOP[0],'prize': parseInt(msg.payload[i].PRIZE[0]),'timestamp': dateTimeString
    };
    
    winners.push(winner);
    
    // flow.set("lastTimestamp,dateTimeString);
}

msg.payload = winners;

return msg;
  1. rbe已通过测试,未成功)

  2. 转储

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)