コード例 #1
0
        private SyndicationTextInput TryReadTextInputFromExtension(SyndicationElementExtensionCollection elementExtensions)
        {
            SyndicationElementExtension textInputElement = elementExtensions
                                                           .Where(e => e.OuterName == Rss20Constants.TextInputTag && e.OuterNamespace == Rss20Constants.Rss20Namespace)
                                                           .FirstOrDefault();

            if (textInputElement == null)
            {
                return(null);
            }

            var textInput = new SyndicationTextInput();

            using (XmlReader reader = textInputElement.GetReader())
            {
                reader.ReadStartElement();
                while (reader.IsStartElement())
                {
                    string name  = reader.LocalName;
                    string value = reader.ReadElementString();

                    switch (name)
                    {
                    case Rss20Constants.DescriptionTag:
                        textInput.Description = value;
                        break;

                    case Rss20Constants.TitleTag:
                        textInput.Title = value;
                        break;

                    case Rss20Constants.LinkTag:
                        textInput.Link = new SyndicationLink(new Uri(value, UriKind.RelativeOrAbsolute));
                        break;

                    case Rss20Constants.NameTag:
                        textInput.Name = value;
                        break;

                    default:
                        break;
                    }
                }

                reader.ReadEndElement();
            }

            return(IsValidTextInput(textInput) ? textInput : null);
        }
コード例 #2
0
 private static bool IsValidTextInput(SyndicationTextInput textInput)
 {
     //All textInput items are required, we check if all items were instantiated.
     return(textInput.Description != null && textInput.Title != null && textInput.Name != null && textInput.Link != null);
 }