【发布时间】:2017-08-26 07:17:15
【问题描述】:
我正在使用最新的 node.js(和 express)对返回的站点进行 API 调用... XML...呃 >_>。
我浏览了网络并找到了一百万种不同的方式,但我不知道在 node/express 中提出请求并获得响应的最新、最新/最佳方式。
我尝试使用https://github.com/request/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;charset=utf-8。
但是在我的页面上我没有得到我正在寻找的 xml。有任何想法吗?我尝试使用https://github.com/Leonidas-from-XIV/node-xml2js 尝试“解析”响应,以防节点无法处理 xml 响应,但无济于事。
var xml2js = require('xml2js');
parser.parseString(response, function(err, result) {
console.dir(result);
console.log('Done');
});
对于使用 Node 访问 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);
});
});
};
【问题讨论】:
标签: node.js xml api express request