解析目录中的所有xml文件

时间:2017-10-03 17:25:26

标签: javascript ajax electron

我正在寻找一种方法来解析以下目录结构中的一堆xml文件:

db/
  -> dir1/
       -> file.xml
  -> dir2/
       -> file.xml
  ...

所有xml文件具有相同的名称,但位于不同的目录下。

在此之前,我有一个单独的xml文件,我正在使用ajax进行解析,如下所示:

  $(document).ready(function() {
      $.ajax({
          type: "GET",
          url: "db/file.xml",
          dataType: "xml",
          success: function (xml) {
              // parsing done here
          }
      });
  });

是否有类似的方法来执行上述但递归?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我发布可能为时尚早,但我最终使用的是xml2js:

const path = require('path')
const glob = require('glob');
const fs = require('fs');
const xml2js = require('xml2js');

$(document).ready(function() {
    var files = glob.sync(path.join(__dirname, '../db/*/*.xml'));
    var counter = 0;
    files.forEach(function(f) {
        fs.readFile(f, function(err, data) {
            var parser = new xml2js.Parser({explicitArray : false});
            parser.parseString(data, function(err, xml) {
                // parsing done here
            });
            counter++;
            if (counter === files.length) {
                $(document).trigger('completed-xml-db-parse');
            }
        });
    });
});