nodejs读取托管XML文件返回垃圾值

时间:2015-02-24 12:38:47

标签: xml node.js get

我正在尝试从服务器读取托管的xml文件,但它返回垃圾值。 以下是我的代码: -

var url = 'http://www.tipgin.net/example-data/livescore-feed-example.xml';
    var req = http.get(url, function(response) {
      // save the data
      var xml = '';
     res.set('Content-Type', 'text/html');
     response.on('data', function(chunk) {
        xml += chunk;
        res.write(chunk);
      });

      response.on('end', function() {
        // parse xml

            res.write(xml);
            res.end();
      });

      // or you can pipe the data to a parser
      //res.pipe(dest);
    }).on('error', function(err) {
      // debug error
    });

在回复中,它打印出来如下: -

��]�r۸�}��`�aj�!n\x�t���Ĺ'>q�s�tMu�$1�HP���������y�o�� �"!/�s^Z����7�?���e��pQ�E���#���b����G�z�$>��O?f� /'��^���5�>="�1"����䄢y����Ge1�pq�����+�M�*_���G,�s��#/gK���T=���7�\��L��ӣs����K�L  �CWW��oG?��d���cٚ��~�B  ���~�����(�B9l�\�|��2��嫘o���1���(�l�N���G��(�|��H�AUl� .....

我尝试过其他XML服务,但效果很好。当我尝试访问该文件时,此问题仅在此URL中保留。我还需要在这里添加任何其他内容吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,直到我意识到我收到的文件是压缩的。在这种特殊情况下,我可以请求从服务器解压缩,这解决了我的问题。如果你不能这样做,那么你可能想在阅读之前尝试解压缩它。关于如何做到这一点,有一些建议in this SO entry

希望这有帮助!