簡體   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