所以我有一个大于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的新手,所以让我知道我的方法是否错误。提前谢谢!
答案 0 :(得分:0)
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