2015-04-06 98 views
0

我正在通过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?

+0

我不确定你的意思。 'parseString'中的'result'是否关闭了从XML转换的JSON结果?如果是这种情况,那你能不能在关闭中放置'req.write(result)'? – zero298

+0

@ zero298'结果'因为我回来了是从XML转换的JSON。问题是'result'实际上是请求...我不知道如何访问'result' XML – maudulus

+0

你能发布发出请求的代码吗? – zero298

回答

0

您需要包括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在答复结束时。