2017-11-03 5 views
0

複数のRSSフィードを1つにマージしてJSONに変換しようとしています。 RSSをマージするには、私はこのパッケージを使用しフィード:ここrss-combiner複数のRSSフィードを取得して1つのフィードにマージし、マージしたフィードをJSONデータに変換するにはどうすればよいですか? (JavaScript)

は私がRSSをマージするために使用されるコードは、それが動作するフィードです:

var RSSCombiner = require('rss-combiner'); 

var feedConfig = { 
    title: 'Tech news from Guardian and BBC', 
    size: 20, 
    feeds: [ 
    'http://feeds.bbci.co.uk/news/technology/rss.xml', 
    'https://www.theguardian.com/uk/technology/rss' 
    ], 
    pubDate: new Date() 
}; 

RSSCombiner(feedConfig) 
.then(function (combinedFeed) { 
    xml = combinedFeed.xml(); 
    console.log(xml); 
}); 

次にJSONにフィードを変換するために、私はこのパッケージを使用:rss-to-jsonとこのコードは、それが動作します:

var Feed = require('rss-to-json'); 

Feed.load('https://codek.tv/feed/', function(err, rss){ 
    console.log(rss); 
}); 

私はJSONにマージされたフィードを変換しようとすると問題がある、私はこのコードで何も結果を得ることはありません:

var RSSCombiner = require('rss-combiner'); 
var Feed = require('rss-to-json'); 

var feedConfig = { 
    title: 'Tech news from Guardian and BBC', 
    size: 20, 
    feeds: [ 
    'http://feeds.bbci.co.uk/news/technology/rss.xml', 
    'https://www.theguardian.com/uk/technology/rss' 
    ], 
    pubDate: new Date() 
}; 

// combine feeds 
RSSCombiner(feedConfig) 
.then(function (combinedFeed) { 
    var xml = combinedFeed.xml(); 

    // convert combined feed to json 
    Feed.load(xml, function(err, rss){ 
    console.log(rss); 
    }); 
}); 
+0

'だけでなくerr'ログインしてください。 – str

+0

まだ回答はありません。 – Harry

答えて

0

私はrss-to-jsonは、URLを求めていると思います。あなたはXMLの結果を渡しています。なぜあなたはRSSを結合した後xml2jsを使用しないのですか?

const RSSCombiner = require('rss-combiner'); 
const xml2js = require('xml2js'); 

const feedConfig = { 
    title: 'Tech news from Guardian and BBC', 
    size: 20, 
    feeds: [ 
    'http://feeds.bbci.co.uk/news/technology/rss.xml', 
    'https://www.theguardian.com/uk/technology/rss', 
    ], 
    pubDate: new Date(), 
}; 

RSSCombiner(feedConfig) 
    .then((combinedFeed) => { 
    const xml = combinedFeed.xml(); 
    const parser = xml2js.Parser(); 

    parser.parseString(xml, (err, result) => { 
     console.log(result); 
    }); 
    }); 
+1

それはうまくいった!私はすべてのデータを表示するためにこれを行う必要がありました。console.log(JSON.stringify(result)); – Harry

+0

@ハリーバンダーああ、もちろん、オブジェクトがあります。 – dork

関連する問題