【问题标题】:Parsing large XML file in Node.js在 Node.js 中解析大型 XML 文件
【发布时间】:2015-09-15 05:38:52
【问题描述】:

所以我有一个大于 70mb 的 XML 文件。我想在 Node.js 中解析这些数据,最终对其进行数据可视化。首先,我认为最好使用 JSON 而不是 XML,因为 Node.js 更适合与 JSON 一起使用。所以我计划使用 xml2json 节点模块将 xml 解析为 JSON,但我似乎无法将 xml 文件写入变量,因为它太大了。我试图用下面的代码做到这一点。

var fs = require('fs');


fs.readFile(__dirname + '/xml/ipg140114.xml', 'utf8', function(err, data, parseXml) {
    if(err) {
        return console.log(err);
    } 
});

我收到堆栈跟踪错误。 有什么更好的方法可以将此文件转换为 JSON,以便我可以使用 Node 解析它?我对 Node 很陌生,所以如果我的方法有误,请告诉我。提前致谢!

【问题讨论】:

标签: javascript json xml node.js


【解决方案1】:

Json2xml 要求您将整个文件加载到内存中。您可以分配更多内存,但我建议直接从文件中解析 XML。

NPM 上还有其他库,例如 xml-stream,它们允许您直接从文件中解析 XML,而无需将其全部加载到内存中。

我对@9​​87654324@ 的个人问题是它依赖于GYP,如果您是Windows 用户,这可能会很麻烦。 我向 NPM 添加了一个非常基本的解析器 no-gyp-xml-stream,这个解析器只依赖于 sax。但它有点简陋,可能不适合您的需求。
但是,如果有人需要任何东西,我愿意改进它: https://www.npmjs.com/package/no-gyp-xml-stream

【讨论】:

    猜你喜欢
    • 2019-02-18
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多