【问题标题】:Node - Simple xml API Request节点 - 简单的 xml API 请求
【发布时间】: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


    【解决方案1】:

    我认为这会起作用,因为请求是异步,你应该像下面这样写:

     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。我编辑了我的原始问题并将我的新工作代码放入。
    猜你喜欢
    • 2017-08-09
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多