Разбор XML-файлов с помощью грозного, но не могу преобразовать их в JSON с модулем xml2js - PullRequest
0 голосов
/ 05 июля 2019

Я создаю приложение, которое берет файл xml и превращает его в тип json перед тем, как сохранить его в базе данных. Я пытался конвертировать xml в json раньше, и для этого я использую xml2js.Однако, когда я пытаюсь предварительно проанализировать файл с помощью formidable, он возвращает следующую ошибку

    throw this.error
      ^

Error: Text data outside of root node.
Line: 0
Column: 17
Char: d

мой код следующий для синтаксического анализа файла

var form = new IncomingFile()

form.parse(req, function(err, fields ,file){
    if (err) console.log(err)
    console.log(file)
    //var filePath = file.path
    var fileName = String(file.name)

, что для анализа, и я сохраняюфайл, используя следующий код

let src = path.join(__dirname, fileName);
    let destDir = path.join(__dirname, 'files');

    fs.access(destDir, (err) => {
      if(err)
        fs.mkdirSync(destDir);

      copyFile(src, path.join(destDir, filename));
    });


    function copyFile(src, dest) {

      let readStream = fs.createReadStream(src);

      readStream.once('error', (err) => {
        console.log(err);
      });

      readStream.once('end', () => {
        console.log('done copying');
      });

      readStream.pipe(fs.createWriteStream(dest));
    }

, и я конвертирую файл со следующим

xml = '../files'+fileName
result = convert.xml2js(xml,{ compact : true,  spaces: 4,ignoreDeclaration : true});

Однако ошибка в функции convert.xml2js с вышеупомянутым выводом на консоль.Что-то не так с определением xml?или есть проблема с функцией записи файла?

...