Node.js 节点-简单XMLAPI请求
我正在使用最新的node.js(和express)对一个返回。。。XML。。。呃>> 我浏览了网页,发现了一百万种不同的方式,但我不知道在node/express中发出请求和获得响应的最新、最新/最佳方式 我尝试使用并执行了以下操作:Node.js 节点-简单XMLAPI请求,node.js,xml,api,express,request,Node.js,Xml,Api,Express,Request,我正在使用最新的node.js(和express)对一个返回。。。XML。。。呃>> 我浏览了网页,发现了一百万种不同的方式,但我不知道在node/express中发出请求和获得响应的最新、最新/最佳方式 我尝试使用并执行了以下操作: var sendJsonResponse = function(res, status, content) { res.status(status); res.json(content); }; var token = request .
var sendJsonResponse = function(res, status, content) {
res.status(status);
res.json(content);
};
var token = request
.get('some-website.com/api/stuff')
.on('response', function(response) {
console.log(response.statusCode);
console.log(response.headers['content-type']);
});
sendJsonResponse(res, 200, token);
在console.log
语句中,我得到200
,然后是application/xml;字符集=utf-8
但是在我的页面上,我没有得到我想要的xml。有什么想法吗?我尝试使用尝试“解析”响应,以防node无法处理xml响应,但没有效果
var xml2js = require('xml2js');
parser.parseString(response, function(err, result) {
console.dir(result);
console.log('Done');
});
关于使用节点访问API和实际使用XML响应,请提供任何帮助
编辑答案
对于Node.js请求和返回的xml内容的xml解析:
var request = require('request');
var xml2js = require('xml2js');
var sendJsonResponse = function(res, status, content) {
res.status(status);
res.json(content);
};
/* GET XML Content*/
module.exports.dsRequest = function(req, res) {
var parser = new xml2js.Parser();
request('url_for_xml_request', function(error, response, body) {
parser.parseString(body, function(err, result) {
sendJsonResponse(res, 200, result);
});
});
};
我认为这是可行的,因为请求是异步的,您应该这样写:
var sendJsonResponse = function(res, status, content) {
res.status(status);
res.json(content);
};
request.get('http://some-website.com/api/stuff', function (err,response, body) {
sendJsonResponse(res, 200, body);
});
这大致就是我所做的,但我在解释响应时也遇到了问题,因为它是XML。我编辑了我原来的问题,并把新的工作代码放进去。