在nodejs xmlbuilder中循环

Loop in nodejs xmlbuilder

如何遍历并从数组中选择一些数据? 我尝试管理它,但在循环内,xmlbuilder 没有定义预期的结果。要选择正确的值也许很容易,我只需要定义确切的元素但尚未测试,

预期结果:

<?xml version="1.0" encoding="utf-8"?>
<export>
  <sor>
    <ragszam>PBPU8393290190011113017025</ragszam>
    <ugyfeladat1>10093-669800</ugyfeladat1>
  </sor>
  <sor>
    <ragszam>PBPU83932901903213117025</ragszam>
    <ugyfeladat1>10093-885200</ugyfeladat1>
  </sor>
  <sor>
    <ragszam>PBPU83616165165113017025</ragszam>
    <ugyfeladat1>10093-998700</ugyfeladat1>
  </sor>
</export>``` 

My Code:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre><code>var builder = require('xmlbuilder');

var array = [
  {
    'CsoportID': 'CLG22030934458',
    'Shipment ID': 'PBPU8393290190011113017025',
    'Requested': '2022-03-09 11:17:05',
    'Status': 'Folyamatban',
    'Futár felvette': '2022-03-09 17:27:47',
    'Követőkód': '10093-669800'
  },
  {
    'CsoportID': 'CLG22030934458',
    'Shipment ID': 'PBPU83932901903213117025',
    'Requested': '2022-03-09 11:17:05',
    'Status': 'Folyamatban',
    'Futár felvette': '2022-03-09 17:27:47',
    'Követőkód': '10093-885200'
  },
  {
    'CsoportID': 'CLG22030934458',
    'Shipment ID': 'PBPU83616165165113017025',
    'Requested': '2022-03-09 11:17:05',
    'Status': 'Folyamatban',
    'Futár felvette': '2022-03-09 17:27:47',
    'Követőkód': '10093-998700'
  }
]


for (let i = 0; i < array.length; i++) {

  var feed = builder.create('export', { encoding: 'utf-8' })
    .ele('sor')
      .ele('ragszam', array[i][1]).up()
      .ele('ugyfeladat1', array[i][5]).up()
      .up()
  }

console.log(feed.end({ pretty: true }));

在循环外创建根元素并在循环中向其添加新的子元素,还可以通过名称而不是索引访问所需的对象属性

试试这个:

var builder = require('xmlbuilder');

var array = [
  {
    'CsoportID': 'CLG22030934458',
    'Shipment ID': 'PBPU8393290190011113017025',
    'Requested': '2022-03-09 11:17:05',
    'Status': 'Folyamatban',
    'Futár felvette': '2022-03-09 17:27:47',
    'Követőkód': '10093-669800'
  },
  {
    'CsoportID': 'CLG22030934458',
    'Shipment ID': 'PBPU83932901903213117025',
    'Requested': '2022-03-09 11:17:05',
    'Status': 'Folyamatban',
    'Futár felvette': '2022-03-09 17:27:47',
    'Követőkód': '10093-885200'
  },
  {
    'CsoportID': 'CLG22030934458',
    'Shipment ID': 'PBPU83616165165113017025',
    'Requested': '2022-03-09 11:17:05',
    'Status': 'Folyamatban',
    'Futár felvette': '2022-03-09 17:27:47',
    'Követőkód': '10093-998700'
  }
]


var feed = builder.create('export', { encoding: 'utf-8' })

for (let i = 0; i < array.length; i++) {

    feed.ele('sor')
      .ele('ragszam', array[i]['Shipment ID']).up()
      .ele('ugyfeladat1', array[i]['Követőkód']).up()
      .up()
  }

console.log(feed.end({ pretty: true }));