我正在尝试使用cheerio 废弃一些PubMed 数据。以下脚本可以正常工作,但是当某些 xml 标记不存在时,它会生成错误排序的输出。
var request = require('request'),
cheerio = require('cheerio');
request('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&retmode=xml&id=23545583,23103438',
function(error, response, body) {
var $ = cheerio.load(body);
for (var i = 0; i < $('PubmedArticle').length; i++) {
console.log($('PubmedArticle PMID').slice(0).eq(i).text());
console.log($('PubmedArticle DateCreated Year').slice(0).eq(i).text());
console.log($('PubmedArticle ArticleTitle').slice(0).eq(i).text());
console.log($('PubmedArticle Abstract AbstractText').slice(0).eq(i).text());
};
});
在此示例中,摘要在第一个标题下方输出,而不是第二个,因为第一篇文章不包含摘要。