Извлечь XML из RSS-канала - PullRequest
0 голосов
/ 04 марта 2019

Я работаю над созданием парсера RSS, который преобразует RSS в JSON.В настоящее время я завершила превращение RSS-канала в JSON.Однако мне приходится жестко кодировать пространства имен, чего я бы хотел избежать.Я использую rss-parser пакет.Вот пример кода:

const Parser = require('rss-parser');

const parser = new Parser({
    customFields: {
    item: [
      ['event:parkids', 'event:parkids'],
      ['event:parknames', 'event:parknames'],
      ['event:startdate', 'event:startdate'],
      ['event:enddate', 'event:enddate'],
      ['event:starttime', 'event:starttime'],
      ['event:endtime', 'event:endtime'],
      ['event:contact_phone', 'event:contanct_phone'],
      ['event:location', 'event:location'],
      ['event:categories', 'event:categories'],
      ['event:coordinates', 'event:coordinates'],
      ['event:image', 'event:image'],
    ]
  }
});


const sendRes = (status, body) => {
   const response = {
       isBase64Encoded: true | false,
       statusCode: status,
       headers: {
           "Content-Type": "application/json",
       },
       body: JSON.stringify(body),
   };

   return response;
};


const convertRssIntoJson = rssFeed => {
   return new Promise((res, rej) => {
       parser.parseURL(rssFeed, (err, rss) => {
           if (err) {
               return rej(err);
           }
           return res(rss);
       });
   });
};

exports.handler = async (event) => {
    let rssFeed = event.queryStringParameters.rssFeed;

    return sendRes(200, await convertRssIntoJson(rssFeed));
};

Как видите, мне приходится жестко кодировать поля пространств имен event.Поэтому я изучаю извлечение XML из URL-адреса RSS-канала.Я не нашел ни одного пакета npm для извлечения XML из RSS-канала.Любые предложения по этому поводу?

...