AtomFeed.Feed.Update C# (CSharp) Метод

Update() публичный Метод

public Update ( ) : void
Результат void
        public void Update()
        {
            Exception retexception = null;
            try
            {
                var oldfeeditems = feeditems.Select(item => (FeedItem)item.Clone()).ToList();
                feedxml = Fetch(FeedUri);

                var xPathNavigator = feedxml.CreateNavigator();

                if (xPathNavigator.NameTable != null)
                {
                    var xmlNamespaceManager = new XmlNamespaceManager(xPathNavigator.NameTable);
                    xmlNamespaceManager.AddNamespace("atom", "http://www.w3.org/2005/Atom");

                    SetFeedTitle(xPathNavigator, xmlNamespaceManager);
                    SetFeedLink(xPathNavigator, xmlNamespaceManager);
                    SetFeedDescription(xPathNavigator, xmlNamespaceManager);

                    //Set up the node iterater to jump through all the entries
                    var xPathExpression = xPathNavigator.Compile("/atom:feed/atom:entry");
                    xPathExpression.SetContext(xmlNamespaceManager);
                    var xPathNodeIterator = xPathNavigator.Select(xPathExpression);

                    feeditems.Clear();
                    while (xPathNodeIterator.MoveNext())
                    {
                        if (xPathNodeIterator.Current != null)
                        {
                            if (!xPathNodeIterator.Current.HasChildren) continue;

                            var item = GetItemFromFeedEntry(xPathNodeIterator, xmlNamespaceManager);

                            if (!oldfeeditems.Contains(item))
                            {
                                item.Updated = true;
                            }
                            feeditems.Add(item);
                        }
                    }
                }
            }
            catch (WebException ex)
            {
                retexception = ex;
            }
            catch (XmlException ex)
            {
                retexception = ex;
            }
            catch (NullReferenceException ex)
            {
                retexception = ex;
            }
            catch (IOException ex)
            {
                retexception = ex;
            }
            if (retexception != null)
            {
                HasError = true;
                ErrorMessage = retexception.Message;
            }
            else
            {
                HasError = false;
                ErrorMessage = null;
            }
            Loaded = true;
            FireUpdated();
        }