由网友(择以年)分享简介:什么是简单的方法来组合供稿和 feed2 ?我想从 feed2 添加到供稿的项目。此外,我想避免重复为供稿可能已经有项目时,一个问题是标签与WPF和Silverlight的。乌里feedUri =新的URI(http://stackoverflow.com/feeds/tag/silverlight);XmlRead...
什么是简单的方法来组合供稿和 feed2 ?我想从 feed2 添加到供稿的项目。此外,我想避免重复为供稿可能已经有项目时,一个问题是标签与WPF和Silverlight的。
乌里feedUri =新的URI(http://stackoverflow.com/feeds/tag/silverlight);
XmlReader的读者= XmlReader.Create(feedUri.AbsoluteUri);
SyndicationFeed饲料= SyndicationFeed.Load(读卡器);
乌里feed2Uri =新的URI(http://stackoverflow.com/feeds/tag/wpf);
XmlReader的reader2 = XmlReader.Create(feed2Uri.AbsoluteUri);
SyndicationFeed feed2 = SyndicationFeed.Load(reader2);
解决方案
您可以使用LINQ简化code加入两个列表(不要忘记把System.Linq的你usings,如果必要的参考系统。核心项目中的)这里有一个主要的做工会,并将它们打印到控制台(与读写器进行适当的清理)。
使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用System.Text;
使用的System.Xml;
使用System.ServiceModel.Syndication;
命名空间FeedUnion
{
类节目
{
静态无效的主要(字串[] args)
{
乌里feedUri =新的URI(http://stackoverflow.com/feeds/tag/silverlight);
SyndicationFeed饲料;
SyndicationFeed feed2;
使用(XmlReader的读者= XmlReader.Create(feedUri.AbsoluteUri))
{
饲料= SyndicationFeed.Load(读卡器);
}
乌里feed2Uri =新的URI(http://stackoverflow.com/feeds/tag/wpf);
使用(XmlReader的reader2 = XmlReader.Create(feed2Uri.AbsoluteUri))
{
feed2 = SyndicationFeed.Load(reader2);
}
SyndicationFeed feed3 =新SyndicationFeed(feed.Items.Union(feed2.Items));
StringBuilder的建设者=新的StringBuilder();
使用(XmlWriter的作家= XmlWriter.Create(制造商))
{
feed3.SaveAsRss20(作家);
System.Console.Write(builder.ToString());
System.Console.Read();
}
}
}
}
What's a simple way to combine feed and feed2? I want the items from feed2 to be added to feed. Also I want to avoid duplicates as feed might already have items when a question is tagged with both WPF and Silverlight.
Uri feedUri = new Uri("http://stackoverflow.com/feeds/tag/silverlight");
XmlReader reader = XmlReader.Create(feedUri.AbsoluteUri);
SyndicationFeed feed = SyndicationFeed.Load(reader);
Uri feed2Uri = new Uri("http://stackoverflow.com/feeds/tag/wpf");
XmlReader reader2 = XmlReader.Create(feed2Uri.AbsoluteUri);
SyndicationFeed feed2 = SyndicationFeed.Load(reader2);
解决方案
You can use LINQ to simplify the code to join two lists (don't forget to put System.Linq in your usings and if necessary reference System.Core in your project) Here's a Main that does the union and prints them to console (with proper cleanup of the Reader).
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();
}
}
}
}
相关推荐
最新文章