将xml响应转换为json
问题描述:
我正在通过node.js
发出POST
请求,该请求发出xml
请求并返回一些结果xml
。将xml响应转换为json
当我运行req.write(body);
产生的响应是XML
,但我想通过xml2json将其转换为JavaScript
。
我有以下内容,但这只是将请求转换为JSON,而不是响应。
parseString(body, function (err, result) {
console.dir(JSON.stringify(result));
});
如何将req.write(body);
响应转换为JSON?
答
您需要包括parseString
功能,如xml2js docs定义,res.on内,如下面的:
var req = http.request(postRequest, function(res) {
console.log(res.statusCode);
var buffer = "";
res.on("data", function(data) { buffer = buffer + data; });
res.on("end", function(data) {
parseString(buffer, function (err, result) {
console.dir(JSON.stringify(result));
inspect(result)
});
});
});
因此,当你调用req.write(机身),它会触发parseString
在答复结束时。
我不确定你的意思。 'parseString'中的'result'是否关闭了从XML转换的JSON结果?如果是这种情况,那你能不能在关闭中放置'req.write(result)'? – zero298
@ zero298'结果'因为我回来了是从XML转换的JSON。问题是'result'实际上是请求...我不知道如何访问'result' XML – maudulus
你能发布发出请求的代码吗? – zero298