我正在创建一个RSS解析器,它将RSS转换为JSON。目前,我已经完成了将RSS feed转换为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
字段进行硬编码。因此,我正在研究从RSS提要URL中提取XML。我还没有找到任何npm包来从RSS URL提要中检索XML。有什么建议吗?