繁体   English   中英

在Node.js中解析大型XML文件

[英]Parsing large XML file in Node.js

所以我有一个大于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的新手,所以让我知道我的方法是否错误。 提前致谢!

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM