Создайте несколько XML файлов в Node Js - PullRequest
0 голосов
/ 05 марта 2020

Я новичок в Node Js. Я не могу найти решение этой проблемы: я должен использовать для l oop, чтобы изменить XML и создать новый. Это уже дает мне один новый XML файл, но я хочу десять новых XML файлов в конце. Надеюсь, мое объяснение было не так уж плохо.

for (t = 0; t < 10; t++) {
  for (let i = 0; i < homeTeamStarting11.length; i++) {
    homeTeamStarting11[i] = homeTeamStarting11[i];
    let roleHome = homeTeamStarting11[i].role['$t']; //string
    let roleAway = awayTeamStarting11[i].role['$t'];
    let currentPosition = homeTeamStarting11[i].position;
    let currentPositiontwo = awayTeamStarting11[i].position;
    if (roleHome === 'GOALKEEPER' || roleAway === 'GOALKEEPER') {

    } else if (roleHome === 'DEFENSE' || roleAway === 'DEFENSE') {
      currentPosition['y']['$t'] = Math.floor(Math.random() * 80) + 3;
      currentPositiontwo['y']['$t'] = Math.floor(Math.random() * 80) + 3;

      currentPosition['x']['$t'] = Math.floor(Math.random() * 80) + 3;
      currentPositiontwo['x']['$t'] = Math.floor(Math.random() * 80) + 3;
    } else {
      currentPosition['y']['$t'] = Math.random() * (90 - 1) + 1;
      currentPositiontwo['y']['$t'] = Math.random() * (90 - 1) + 1;
      currentPosition['x']['$t'] = Math.random() * (90 - 1) + 1;
      currentPositiontwo['x']['$t'] = Math.random() * (90 - 1) + 1;
    }

    homeTeamStarting11[i].position = currentPosition;
    //awayTeamStarting11[i].position = currentPositiontwo;

    //const TeamTogether = homeTeamStarting11.concat(awayTeamStarting11);


    json['lineup']['away']['startingEleven']['persons']['player'] = awayTeamStarting11;
    json['lineup']['home']['startingEleven']['persons']['player'] = homeTeamStarting11;


  }
  const Name = JSON.stringify(json);
  const xml = parser.toXml(Name);
  let xjz = getFilename(2);
  fs.writeFile('xmls/' + xjz + '.xml', xml, function(err, data) {

  });

  function getFilename(anyNumber) {
    let filename = 'xmlfilename' + anyNumber;
    return filename;
  }

}

1 Ответ

0 голосов
/ 05 марта 2020

Вы вызываете вашу getFilename() функцию с константой 2. Поэтому каждый прогон через for (t = 0; t < 10; t++) { ... } l oop перезаписывает один и тот же файл.

Попробуйте использовать let xjz = getFilename(t);, чтобы каждый раз получать разные имена файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...