Можно использовать LINQ для упрощения кода для присоединения, два списка (не забывайте помещать Систему. Linq в Ваших использованиях и если необходимая ссылочная Система. Ядро в Вашем проекте), Вот Основное, которое делает объединение и печатает их к консоли (с надлежащей очисткой Читателя).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.ServiceModel.Syndication;
namespace FeedUnion
{
class Program
{
static void Main(string[] args)
{
Uri feedUri = new Uri("http://stackoverflow.com/feeds/tag/silverlight");
SyndicationFeed feed;
SyndicationFeed feed2;
using(XmlReader reader = XmlReader.Create(feedUri.AbsoluteUri))
{
feed= SyndicationFeed.Load(reader);
}
Uri feed2Uri = new Uri("http://stackoverflow.com/feeds/tag/wpf");
using (XmlReader reader2 = XmlReader.Create(feed2Uri.AbsoluteUri))
{
feed2 = SyndicationFeed.Load(reader2);
}
SyndicationFeed feed3 = new SyndicationFeed(feed.Items.Union(feed2.Items));
StringBuilder builder = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(builder))
{
feed3.SaveAsRss20(writer);
System.Console.Write(builder.ToString());
System.Console.Read();
}
}
}
}
Ну, одна возможность состоит в том, чтобы создать новую ленту RSS, которая является клоном первого канала, и затем просто выполните итерации через каждое сообщение на втором, проверьте первое на его существование и добавьте его, если это не существует.
Что-то вроде:
SyndicationFeed newFeed = feed.clone;
foreach(SyndicationItem item in feed2.items)
{
if (!newFeed.contains(item))
newFeed.items.Add(item);
}
смогший, чтобы сделать это. Похоже, что 'объекты' являются простым enumberable списком объектов синдикации, таким образом, нет причины, Вы не можете просто добавить их.
Если это только для stackoverflow, можно использовать это:
https://stackoverflow.com/feeds/tag/silverlight%20wpf
Это сделает объединение двух тегов.
Для более общего решения я не знаю. Необходимо было бы, вероятно, вручную выполнить итерации элементов двух подачи и присоединиться к ним вместе. Можно сравнить <идентификатор> элементы <записи> s, чтобы видеть, являются ли они дубликатами.