我试图将一个XML文件作为JSON加载到我的nodeJS项目中并且已经发布了一些。 console.log(JSON.stringify(obj))
会返回undefined
值。
var returnJSONResults = function(baseName, queryName) {
var XMLPath = "SomeFile.xml";
var rawJSON = loadXMLDoc(XMLPath);
function loadXMLDoc(filePath) {
var fs = require('fs');
var xml2js = require('xml2js');
var json;
try {
var fileData = fs.readFileSync(filePath, 'ascii');
var parser = new xml2js.Parser();
parser.parseString(fileData.substring(0, fileData.length), function (err, result) {
json = JSON.stringify(result);
console.log(JSON.stringify(result));
});
console.log("File '" + filePath + "/ was successfully read.\n");
return json;
} catch (ex) {...}
}
}();
我不确定我在这里做错了什么但它无法读取文件(但没有返回错误)或者不知道如何对其进行字符串化
日Thnx。
更新:
改变了parser.parseString
,它现在正在运作。
fs.readFile(__dirname + '/'+ filePath, function(err, data) {
parser.parseString(data, function (err, result) {
console.log(result);
console.log('XML converted to JSON');
tempJSON = result;
});
});
答案 0 :(得分:1)
看一下下面的runnable ...... 复制了你的代码。变化不多...... 有用... 我怀疑你的XML有错误....我创建了一个简单有效的XML ... 如果您在那里添加XML,我们可以进一步查看错误。 希望有所帮助。
可运行链接:Runnable Link Here
沙哈尔。
答案 1 :(得分:0)
在您的代码中,您似乎没有任何变量“obj”。形成你的代码我认为
console.log(JSON.stringify(json));
会奏效。