我有一个带有联赛的 xml 文件,xml 树的下一个节点如此之多,但我只想返回每个联赛的 id 和名称,我正在使用xml-object-stream
可以在https://github.com找到的节点模块/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
文件构建我的数据。谢谢