2013-12-08 85 views
0

當我用下面的代碼Cheerio find方法無法找到刮

var request = require('request'); 
var cheerio = require('cheerio'); 
var url = "http://www.mbl.is/feeds/fp/"; 
request(url, function(err, resp, body) { 
    if (err) 
     throw err; 
    $ = cheerio.load(body,{xmlMode : true}); 
    $('item').each(function(item, xmlItem){ 
     console.log($(xmlItem).find('title').text()); 
     console.log($(xmlItem).find('link').text()); 
     console.log($(xmlItem).children()[3]['children'][0]['data']); 
    }); 
}); 

而且我的問題是,爲什麼不能在循環。每個第三行是

console.log($(xmlItem).find('pubDate').text()); 

如果我使用該行,則輸出爲空,但下載的xml文件的結構告訴我不應該如此。

回答

1

重新配置cheerio對象添加lowerCaseTags標誌;

$ = cheerio.load(body, { 
    xmlMode: true, 
    lowerCaseTags: true 
}); 

現在console.log($(xmlItem).find('pubDate').text());應該可以正常工作。