2015-04-06 131 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在答覆結束時。