Node.js 从数据库读取xml

Node.js 从数据库读取xml,node.js,Node.js,我试图从他们的xml格式获取url,但我做不到。我想获得url部分,我尝试了不同的方法,但似乎最接近成功: parser.on('error', function (err) { console.log('Parser error', err); }); https.get('https://thecatapi.com/api/images/get?format=xml', function (resp) { resp.on('erro

我试图从他们的xml格式获取url,但我做不到。我想获得url部分,我尝试了不同的方法,但似乎最接近成功:

parser.on('error', function (err) { console.log('Parser error', err); });

            https.get('https://thecatapi.com/api/images/get?format=xml', function (resp) {

                resp.on('error', function (err) {
                    console.log('Error while reading', err);
                });

                resp.pipe(concat(function (buffer) {
                    var str = buffer.toString();
                    parser.parseString(str, function (err, result) {
                        var haha = JSON.parse(JSON.stringify(result));
                        console.log('Finished parsing:', err, haha.response.data.images.image.url);
                        // return message.util.send(`Requested by ${message.author}`, { files: [books] });
                    });
                }));

            });
但问题是我犯了错误。我明白了:

Finished parsing: null {"response":{"data":[{"images":[{"image":[{"url":["https://thecatapi.com/api/images/get.php?id=aul"],"id":["aul"],"source_url":["http://thecatapi.com/?id=aul"]}]}]}]}}
无法读取未定义的属性“image”

嗯,是的。我不知道怎么做。 如果我仅将此代码与JSON.stringify(result)一起使用,则得到以下结果:

Finished parsing: null {"response":{"data":[{"images":[{"image":[{"url":["https://thecatapi.com/api/images/get.php?id=aul"],"id":["aul"],"source_url":["http://thecatapi.com/?id=aul"]}]}]}]}}

因此,嗯,我不知道如何获得url部分。这对我来说没什么困难。是的,我知道它是json,我可以阅读更简单的json格式,但不是这个。我不知道如何阅读url部分。

我从其他网站得到了答案:

const https = require('https');

https.get('https://thecatapi.com/api/images/get?format=xml', (resp) => {
  let data = '';

  // A chunk of data has been recieved.
  resp.on('data', (chunk) => {
    data += chunk;
  });

  // The whole response has been received. Print out the respesult.
  resp.on('end', () => {
    let url = data.split("\n")[5].trim();
    url = url.substr(5, url.length - 11);
    console.log(url);
  });

}).on("error", (err) => {
  console.log("Error: " + err.message);
});