当前位置: 首页>>代码示例>>C#>>正文


C# Atom10FeedFormatter.ReadFrom方法代码示例

本文整理汇总了C#中System.ServiceModel.Syndication.Atom10FeedFormatter.ReadFrom方法的典型用法代码示例。如果您正苦于以下问题:C# Atom10FeedFormatter.ReadFrom方法的具体用法?C# Atom10FeedFormatter.ReadFrom怎么用?C# Atom10FeedFormatter.ReadFrom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.ServiceModel.Syndication.Atom10FeedFormatter的用法示例。


在下文中一共展示了Atom10FeedFormatter.ReadFrom方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FbItems

        public List<BannerItem> FbItems()
        {
            Atom10FeedFormatter formatter = new Atom10FeedFormatter();

            using (XmlReader reader = XmlReader.Create(ConfigurationManager.AppSettings["FacebookFeed"]))
            {
                formatter.ReadFrom(reader);
            }

            var bannerItems = new List<BannerItem>();

            foreach (var e in formatter.Feed.Items)
            {
                if (!e.Title.Text.StartsWith("Wallflux"))
                {
                    BannerItem le = new BannerItem();
                    le.title = e.Title.Text;
                    le.content = new entryContent
                    {
                        Value = ((TextSyndicationContent)e.Content).Text
                    };

                    le.link = new entryLink
                    {
                        href = e.Id,
                        target = "_blank"
                    };
                    le.updated = e.LastUpdatedTime.DateTime.ToShortDateString();
                    le.published = "Published on facebook "+e.PublishDate.DateTime.ToShortDateString();
                    le.TypeOfContent = Enum.GetName(typeof(TypeOfContent), TypeOfContent.FacebookPost);
                    bannerItems.Add(le);
                }
            }
            return bannerItems;

            /* sparas, extrahera bilder
            List<RssFeedItem> rssItems = new List<RssFeedItem>();
                    Stream stream = e.Result;
                    XmlReader response = XmlReader.Create(stream);
                    SyndicationFeed feeds = SyndicationFeed.Load(response);
                    foreach (SyndicationItem f in feeds.Items)
                    {
                        RssFeedItem rssItem = new RssFeedItem();

                        rssItem.Description = f.Summary.Text;

             const string rx =  @"(?<=img\s+src\=[\x27\x22])(?<Url>[^\x27\x22]*)(?=[\x27\x22])";
                        foreach (Match m in Regex.Matches(f.Summary.Text, rx, RegexOptions.IgnoreCase | RegexOptions.Multiline))
                        {
                            string src = m.Groups[1].Value;
                            if (src.StartsWith("//")) // Google RSS has it
                            {
                                src = src.Replace("//", "http://");
                            }

                            rssItem.ImageLinks.Add(src);
                        }

            */
        }
开发者ID:Aikidokan,项目名称:www_marcbachraty_com,代码行数:60,代码来源:FeedReader.cs

示例2: Build

 public FeedData Build(string data, string url)
 {
     var formatter = new Atom10FeedFormatter();
     using (var reader = new StringReader(data))
     {
         using (var xmlReader = XmlReader.Create(reader))
         {
             formatter.ReadFrom(xmlReader);
             var feed = formatter.Feed;
             return new FeedData
             {
                 Id = Guid.Parse(feed.Id),
                 DateCreated = feed.LastUpdatedTime.UtcDateTime,
                 PreviousUri = GetUriFromLink(PrevInArchiveRelationshipType, feed),
                 NextUri = GetUriFromLink(NextInArchiveRelationshipType, feed),
                 Messages = feed.Items.Select(x =>
                 {
                     return new Message
                     {
                         Body = GetXmlString(x),
                         CreatedAt = x.LastUpdatedTime.UtcDateTime,
                         Id = Guid.Parse(x.Id),
                         FeedUri = url
                     };
                 }).ToArray()
             };
         }
     }
 }
开发者ID:peterbeams,项目名称:SimpleAtomPubSub,代码行数:29,代码来源:AtomFormatter.cs

示例3: GetFeeds

        public static IList<Feed> GetFeeds()
        {
            var urls = new[]
                {
                    "http://www.simplyvinay.com/GetBlogRss.aspx", "http://www.bbc.co.uk/blogs/formula1/rss.xml",
                    "http://feeds.feedburner.com/AyendeRahien"
                };
            var list = new List<Feed>();

            foreach (var url in urls)
            {
                using (var reader = new CustomXmlReader(url))
                {
                    if (reader.ReadState == ReadState.Initial)
                        reader.MoveToContent();

                    var atom = new Atom10FeedFormatter();
                    if (atom.CanRead(reader))
                    {
                        atom.ReadFrom(reader);
                        list.AddRange(GenerateFeed(atom.Feed, true));
                    }

                    var rss = new Rss20FeedFormatter();
                    if (rss.CanRead(reader))
                    {
                        rss.ReadFrom(reader);
                        list.AddRange(GenerateFeed(rss.Feed, false));
                    }
                }
            }
            return list;
        }
开发者ID:simplyvinay,项目名称:feedreader,代码行数:33,代码来源:Program.cs

示例4: CheckForUpdates

        private static UpdateCheck CheckForUpdates(string feedUrl, Version currentVersion)
        {
            var r = new UpdateCheck();
            r.Message = "";
            // NOTE: Requires a reference to System.ServiceModel.dll
            var formatter = new Atom10FeedFormatter();
            try
            {
                // Read the feed
                using (var reader = System.Xml.XmlReader.Create(feedUrl))
                {
                    formatter.ReadFrom(reader);

                    var latest = (from i in formatter.Feed.Items
                                  where i.Categories.Any(c => IsStable(c.Name))
                                  orderby i.LastUpdatedTime descending
                                  select i).FirstOrDefault();

                    if (latest != null)
                    {
                        var u = latest.Links.Single().Uri.AbsoluteUri;
                        r.Message += String.Format("The latest release is: {0}\n", u);

                        var update = (from i in formatter.Feed.Items
                                      where ExtractVersion(i.Title.Text) > currentVersion &&
                                      i.Categories.Any(c => IsStable(c.Name))
                                      orderby i.LastUpdatedTime descending
                                      select i).FirstOrDefault();

                        if (update != null)
                        {
                            // TODO: Notify user of available download
                            var downloadUrl = update.Links.Single().Uri.AbsoluteUri;
                            r.Message += String.Format("There is an available update: {0}",
                                                       update.Title.Text);
                            r.UpdateAvailable = true;
                        }
                        else
                        {
                            r.Message += "There is no later version.";
                        }
                    }
                    else
                    {
                        r.Message += "Could not find a later version.";
                    }
                }
            }
            catch (System.Exception exc1)
            {
                r.Message += "Cannot check for updates. " + exc1.ToString();
            }
            return r;
        }
开发者ID:neoKushan,项目名称:CleanModQueue,代码行数:54,代码来源:Form1.CheckUpdates.cs

示例5: AtomFeed

        public static void AtomFeed()
        {
            Atom10FeedFormatter formatter = new Atom10FeedFormatter();
            using (XmlReader reader = XmlReader.Create("https://www.wunschliste.de/xml/atom.pl?user_id=1125047&key=1355167046072"))
            {
                formatter.ReadFrom(reader);
            }

            foreach (SyndicationItem item in formatter.Feed.Items)
            {
                //Console.WriteLine("[{0}][{1}] {2}", item.PublishDate, item.Title.Text, ((TextSyndicationContent)item.Content).Text);
            }

            Console.ReadLine();
        }
开发者ID:michisnewsletter,项目名称:Wunschliste2Enigma,代码行数:15,代码来源:Program.cs

示例6: CheckForUpdatesAsync

        public async Task<Update> CheckForUpdatesAsync(string updateUrl, UpdateFilter updateFilter)
        {
            Contract.Requires(!String.IsNullOrWhiteSpace(updateUrl));

            var reader = XmlReader.Create(updateUrl);
            var formatter = new Atom10FeedFormatter();

            await Task.Factory.StartNew(() => formatter.ReadFrom(reader));

            return (from i in formatter.Feed.Items
                    let u = UpdateHelper.FromSyndicationItem(i)
                    where u.Version > Assembly.GetExecutingAssembly().GetName().Version
                        && ((int)updateFilter & (int)u.ReleaseStatus) != 0
                    orderby u.LastUpdatedTime descending
                    select u).FirstOrDefault();
        }
开发者ID:rahulkargwal25,项目名称:PubRepo,代码行数:16,代码来源:UpdaterService.cs

示例7: ReadFeed

        private static void ReadFeed(string feedUrl)
        {
            Atom10FeedFormatter formatter = new Atom10FeedFormatter();
            using (XmlReader reader = XmlReader.Create(feedUrl))
            {
                formatter.ReadFrom(reader);
            }

            foreach (SyndicationItem item in formatter.Feed.Items)
            {
                Console.WriteLine("[{0}][{1}]", item.PublishDate, item.Title.Text);
            }

            var prevArchive = formatter.Feed.Links.FirstOrDefault(l => l.RelationshipType == "prev-archive");
            if (prevArchive != null)
            {
                ReadFeed(prevArchive.Uri.ToString());
            }
        }
开发者ID:jgraber,项目名称:atom_exchange,代码行数:19,代码来源:Program.cs

示例8: Application_Start

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var MemCache = MemoryCache.Default;

            var Tasks = (IEnumerable<ServiceTask>)MemCache.Get("TaskList");

            if (Tasks == null)
            {
                var formatter = new Atom10FeedFormatter();
                using (XmlReader reader = XmlReader.Create(ConfigurationManager.AppSettings["ServiceApiUrl"]))
                {
                    formatter.ReadFrom(reader);
                }

                MemCache.Add("Organisation", formatter.Feed.Authors.First().Name, new CacheItemPolicy {});

                var Items = formatter.Feed.Items.Select(i => new ServiceTask
                {
                    CategoryId = i.Categories.First().Name,
                    CategoryName = i.Categories.First().Label,
                    Content = ((TextSyndicationContent)i.Content).Text,
                    Details = i.Links.Where(l => l.RelationshipType == "self" && l.MediaType == "application/atom+xml").SingleOrDefault().Uri,
                    Id = i.Id,
                    Summary = i.Summary.Text,
                    Title = i.Title.Text,
                    Updated = i.LastUpdatedTime.DateTime
                });

                MemCache.Add("TaskList", Items, new CacheItemPolicy { });
            }
        }
开发者ID:BforBen,项目名称:OpenGovApiClient,代码行数:37,代码来源:Global.asax.cs

示例9: ReadFrom1

		public void ReadFrom1 ()
		{
			Atom10FeedFormatter f = new Atom10FeedFormatter ();
			Assert.IsNull (f.Feed, "#1");
			f.ReadFrom (CreateReader ("<feed xmlns='http://www.w3.org/2005/Atom'><title>test</title></feed>"));
			SyndicationFeed feed1 = f.Feed;
			Assert.IsNotNull (f.Feed.Title, "#2");
			Assert.AreEqual ("test", f.Feed.Title.Text, "#3");
			f.ReadFrom (CreateReader ("<feed xmlns='http://www.w3.org/2005/Atom'><title>test</title></feed>"));
			Assert.IsFalse (object.ReferenceEquals (feed1, f.Feed), "#4");
		}
开发者ID:nlhepler,项目名称:mono,代码行数:11,代码来源:Atom10FeedFormatterTest.cs

示例10: GetContacts

        protected static IEnumerable<Contact> GetContacts(ConstantContactCredential credential, Uri requestUri)
        {
            var request = WebRequest.Create(requestUri) as HttpWebRequest;

            if (request == null)
            {
                throw new WebException("Failed to create WebRequest");
            }

            request.Credentials = credential;
            request.Method = "GET";
            request.ContentType = "application/atom+xml";

            var contacts = new List<Contact>();

            // Get response  
            using (var webResponse = request.GetResponse() as HttpWebResponse)
            {
                if (webResponse == null)
                {
                    throw new WebException("Failed to create WebRequest");
                }

                // Get the response stream  
                XmlReader xmlReader = XmlReader.Create(webResponse.GetResponseStream());

                if (webResponse.StatusCode != HttpStatusCode.OK)
                    throw new WebException(webResponse.StatusDescription);

                var atomResponse = new Atom10FeedFormatter();

                if (atomResponse.CanRead(xmlReader))
                {
                    atomResponse.ReadFrom(xmlReader);

                    foreach (SyndicationItem item in atomResponse.Feed.Items)
                    {
                        contacts.Add(new ContactContent(item).Contact);
                    }
                }
            }

            return contacts;
        }
开发者ID:davidebbo-test,项目名称:FarmersMarket-1.0,代码行数:44,代码来源:ContactsCollection.cs

示例11: ReadFrom_Language

		public void ReadFrom_Language ()
		{
			Atom10FeedFormatter f = new Atom10FeedFormatter ();
			f.ReadFrom (CreateReader ("<feed xmlns='http://www.w3.org/2005/Atom' xml:lang='ar-AR'></feed>"));
			Assert.AreEqual ("ar-AR", f.Feed.Language, "#1");
		}
开发者ID:nlhepler,项目名称:mono,代码行数:6,代码来源:Atom10FeedFormatterTest.cs

示例12: ReadFrom_ImageUrl

		public void ReadFrom_ImageUrl ()
		{
			Atom10FeedFormatter f = new Atom10FeedFormatter ();
			f.ReadFrom (CreateReader ("<feed xmlns='http://www.w3.org/2005/Atom'><logo>http://mono-project.com/images/mono.png</logo></feed>"));
			Assert.IsNotNull (f.Feed.ImageUrl, "#1");
			Assert.AreEqual ("http://mono-project.com/images/mono.png", f.Feed.ImageUrl.ToString (), "#2");
		}
开发者ID:nlhepler,项目名称:mono,代码行数:7,代码来源:Atom10FeedFormatterTest.cs

示例13: ReadFrom_Link

		public void ReadFrom_Link ()
		{
			Atom10FeedFormatter f = new Atom10FeedFormatter ();

			f.ReadFrom (CreateReader ("<feed xmlns='http://www.w3.org/2005/Atom'><link href='urn:foo' rel='enclosure' length='50' type='text/html' wcf='wtf'><extended /></link></feed>"));

			Assert.AreEqual (1, f.Feed.Links.Count, "#1");
			SyndicationLink link = f.Feed.Links [0];
			Assert.AreEqual (50, link.Length, "#2");
			Assert.AreEqual ("urn:foo", link.Uri.ToString (), "#3");
			Assert.AreEqual ("text/html", link.MediaType, "#4");
			Assert.AreEqual ("enclosure", link.RelationshipType, "#5");
			Assert.AreEqual (1, link.AttributeExtensions.Count, "#6");
			Assert.AreEqual (1, link.ElementExtensions.Count, "#7");
		}
开发者ID:nlhepler,项目名称:mono,代码行数:15,代码来源:Atom10FeedFormatterTest.cs

示例14: ReadFrom_Extension

		public void ReadFrom_Extension ()
		{
			Atom10FeedFormatter f = new Atom10FeedFormatter ();
			f.ReadFrom (CreateReader ("<feed xmlns='http://www.w3.org/2005/Atom'><icon>http://www.mono-project.com/icons/mono.png</icon></feed>"));
			Assert.IsNotNull (f.Feed, "#1");
			// 'icon' is treated as an extension ...
			Assert.AreEqual (1, f.Feed.ElementExtensions.Count, "#2");
		}
开发者ID:nlhepler,项目名称:mono,代码行数:8,代码来源:Atom10FeedFormatterTest.cs

示例15: GetFeedForMessage

        private SyndicationFeed GetFeedForMessage(Message message)
        {
            var messageId = message.Id.Value;
            var topicId = message.TopicId;

            var feedEntry = new FeedEntry() { MessageId = messageId, TimeStamp = DateTime.UtcNow };
            var feed = new Feed()
            {
                Entries = new List<FeedEntry>(new[] { feedEntry }),
                Id = Identity.Random(),
                TopicId = topicId,
                Updated = DateTime.UtcNow
            };

            var topic = new Topic()
            {
                Id = topicId,
                Name = "Topic Name",
                Description = "Topic Description",
                GroupId = Identity.Random()
            };

            var key = new MessageKey { MessageId = messageId, TopicId = topicId };

            messageByMessageKey
                .Setup(r => r.Get(It.Is<MessageKey>(k => k.TopicId == key.TopicId && k.MessageId == key.MessageId)))
                .Returns(message);

            getWorkingFeedForTopic
                .Setup(r => r.Execute(topicId))
                .Returns(feed);

            entityById
                .Setup(r => r.Get<Topic>(topicId))
                .Returns(topic);

            var client = new HttpClient(baseUri);

            var response = client.Get(topicId.ToString());
            var formatter = new Atom10FeedFormatter();

            using (var rdr = XmlReader.Create(response.Content.ContentReadStream))
            {
                formatter.ReadFrom(rdr);
                return formatter.Feed;
            }
        }
开发者ID:jasondentler,项目名称:Hermes,代码行数:47,代码来源:FeedFixture.cs


注:本文中的System.ServiceModel.Syndication.Atom10FeedFormatter.ReadFrom方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。