リーグを含むxmlファイルがあります.xmlツリーは非常に多くのノードに隣接していますが、各リーグのIDと名前のみを返したいので、https://github.comxml-object-stream
にあるノードモジュールを使用しています/idottv/xml-object-stream .
xml = require('xml-object-stream'),
fs = require('fs');
function buildLeagues(cb){
var leaguesData = [];
var data = fs.createReadStream("./tmp/leagues.xml");
var parser = xml.parse(data);
var parser.each('league', function(league){
var leagues = {};
leagues.id = league.$.id ;
leagues.name = league.$text;
leaguesData.push(leagues);
});
cb(JSON.stringify(leaguesData));
}
この関数で私が抱えている問題は、javascript スコープにあります。コールバック関数の新しいスコープのために、leaguesData
変数は常に返されます。グローバルスコープで宣言しようとしましたが、同じ問題で、バルクファイルからデータを構築するためのより良いアプローチを誰でも提案できます。ありがとうございました[]
json
xml