XML parsing error: <unknown>:16:32: not well-formed (invalid token) [help]
<itunes:category text="Society & Culture">我不知道怎样才能纠正这个错误。你看,我把我们所有的节目都存储在mongodb里,分类是由Apple列出的,我们需要进入的类别是社会与文化--因为它们似乎不仅仅是一个娱乐类别。
我想知道,当显示& simple时,如何才能使这一行代码不被填充。
'\n<itunes:category text="'+show.category+'">';全码
router.get('/shows/:id', (req, res) => {
var url = req.params.id;
/*var obj = {
items: [{
name: url,
_id: 1
}, {
name: 'two',
_id: 2
}, {
name: 'three',
_id: 3
}],
blah: 'http://www.google.com',
when: new Date(),
boolz: true,
nullz: null
};
console.log(serializer.render(obj));*/
var ep ='';
var query = {};
var epi='';
query['url']=url;
console.log(url);
ShowModel.findOne(query).exec(function(err, show) {
if (!err){
var q = {}
q['show_id']=show._id;
EpisodeModel.find(q).sort('-pubDate').exec(function(er, a) {
if (!er){
// console.log(a);
/*{a.map(a => (
ep += '\n<item>'+
'\n<title>'+a.title+'</title>'+
'\n<itunes:summary>'+a.summary+'</itunes:summary>'+
'\n<description>'+a.description+'</description>'+
'\n<link>'+a.link+'</link>'+
'\n<enclosure url="'+a.enclosureurl+'" type="audio/mpeg"></enclosure>'+
'\n<pubDate>Thu, 21 Dec 2016 16:01:07 +0000</pubDate>'+
'\n<itunes:author>Author Name</itunes:author>'+
'\n<itunes:duration>00:32:16</itunes:duration>'+
'\n<itunes:explicit>no</itunes:explicit>'+
'\n<guid>http://example.com/podcast-1</guid>'+
'\n</item>'
))}*/
for(var k in a) {
// console.log(a[k].title);
ep+= '\n<item>'+
'\n<title>'+a[k].title+'</title>'+
'\n<itunes:summary>'+a[k].summary+'</itunes:summary>'+
'\n<description>'+a[k].description+'</description>'+
'\n<link>'+a[k].link+'</link>'+
'\n<enclosure url="https://dts.podtrac.com/redirect.mp3/'+a[k].enclosureurl+'" length="'+a[k].enclosurebyts+'" type="audio/mpeg"></enclosure>'+
'\n<pubDate>'+sdate(a[k].pubDate)+'</pubDate>'+
'\n<itunes:author>'+a[k].author+'</itunes:author>'+
'\n<itunes:episodeType>full</itunes:episodeType>'+
'\n<itunes:season>'+a[k].season+'</itunes:season>';
if(a[k].episode_no) ep+='\n<itunes:episode>'+a[k].episode_no+'</itunes:episode>';
ep+='\n<itunes:duration>'+a[k].duration+'</itunes:duration>'+
'\n<itunes:explicit>'+a[k].explicit+'</itunes:explicit>'+
'\n<guid>'+a[k].link+'</guid>'+
'\n</item>'
}
}else{throw er;}
// console.log(ep);
if(show.subcategory){var subcategory = '<itunes:category text="'+show.subcategory+'"/>';}
var feed = '<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" version="2.0">'+
'\n<channel>'+
'\n<title>'+show.title+'</title>'+
'\n<link>'+show.link+'</link>'+
'\n<language>en-us</language>'+
'\n<itunes:subtitle>'+show.subtitle+'</itunes:subtitle>'+
'\n<itunes:author>Radio Media PTY LTD</itunes:author>'+
'\n<itunes:summary>'+show.summary+'</itunes:summary>'+
'\n<description>'+show.description+'</description>'+
'\n<itunes:owner>'+
'\n<itunes:name>Radio Media PTY LTD</itunes:name>'+
'\n<itunes:email>podcast@radiomedia.com.au</itunes:email>'+
'\n</itunes:owner>'+
'\n<itunes:explicit>'+show.explicit+'</itunes:explicit>'+
'\n<itunes:image href="'+show.icon+'" />'+
'\n<itunes:category text="'+show.category+'">';
if(subcategory) feed += subcategory;
feed +='\n</itunes:category>'+
'\n<atom:link href="http://api.radiomedia.com.au/api-access/shows/'+url+'" rel="self" type="application/rss+xml" />';
feed += ep;
feed += '\n</channel>'+
'\n</rss>';
console.log(ep);
res.header('Content-Type', 'text/xml');
res.send(feed);
//process.exit();
}); } else { throw err; }
});发布于 2021-03-13 06:52:20
来自XML定义
符号字符(&)和左角括号(<)不得以文字形式出现,除非用作标记分隔符,或在注释、处理指令或CDATA部分中。如果他们需要在其他地方,他们必须逃脱。
https://stackoverflow.com/questions/57645628
复制相似问题