void ReadCategory(XmlReader reader, SyndicationCategory category) { if (reader.MoveToFirstAttribute()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") { continue; } if (reader.NamespaceURI == String.Empty) { switch (reader.LocalName) { case "domain": category.Scheme = reader.Value; continue; } } if (PreserveAttributeExtensions) { if (!TryParseAttribute(reader.LocalName, reader.NamespaceURI, reader.Value, category, Version)) { category.AttributeExtensions.Add(new XmlQualifiedName(reader.LocalName, reader.NamespaceURI), reader.Value); } } }while (reader.MoveToNextAttribute()); reader.MoveToElement(); } if (!reader.IsEmptyElement) { reader.Read(); for (reader.MoveToContent(); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent()) { if (reader.IsTextNode()) { category.Name += reader.Value; } else if (!TryParseElement(reader, category, Version)) { if (PreserveElementExtensions) { // FIXME: what should be used for maxExtenswionSize LoadElementExtensions(reader, category, int.MaxValue); } else { reader.Skip(); } } reader.Read(); } } reader.Read(); // </category> or <category ... /> }
void ReadLink(XmlReader reader, SyndicationLink link) { if (PreserveAttributeExtensions && reader.MoveToFirstAttribute()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") { continue; } if (!TryParseAttribute(reader.LocalName, reader.NamespaceURI, reader.Value, link, Version)) { link.AttributeExtensions.Add(new XmlQualifiedName(reader.LocalName, reader.NamespaceURI), reader.Value); } }while (reader.MoveToNextAttribute()); reader.MoveToElement(); } if (!reader.IsEmptyElement) { string url = null; reader.Read(); for (reader.MoveToContent(); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent()) { if (reader.IsTextNode()) { url += reader.Value; } else if (!TryParseElement(reader, link, Version)) { if (PreserveElementExtensions) { // FIXME: what should be used for maxExtenswionSize LoadElementExtensions(reader, link, int.MaxValue); } else { reader.Skip(); } } reader.Read(); } link.Uri = CreateUri(url); } reader.Read(); // </link> or <link ... /> }
void ReadPerson(XmlReader reader, SyndicationPerson person) { if (PreserveAttributeExtensions && reader.MoveToFirstAttribute()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") { continue; } if (!TryParseAttribute(reader.LocalName, reader.NamespaceURI, reader.Value, person, Version)) { person.AttributeExtensions.Add(new XmlQualifiedName(reader.LocalName, reader.NamespaceURI), reader.Value); } }while (reader.MoveToNextAttribute()); reader.MoveToElement(); } if (!reader.IsEmptyElement) { reader.Read(); for (reader.MoveToContent(); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent()) { if (reader.IsTextNode()) { person.Email += reader.Value; } else if (!TryParseElement(reader, person, Version)) { if (PreserveElementExtensions) { // FIXME: what should be used for maxExtenswionSize LoadElementExtensions(reader, person, int.MaxValue); } else { reader.Skip(); } } reader.Read(); } } reader.Read(); // end element or empty element }
void ReadSourceFeed(XmlReader reader, SyndicationFeed feed) { if (reader.MoveToFirstAttribute()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") { continue; } if (reader.NamespaceURI == String.Empty) { switch (reader.LocalName) { case "url": feed.Links.Add(new SyndicationLink(CreateUri(reader.Value))); continue; } } } while (reader.MoveToNextAttribute()); reader.MoveToElement(); } if (!reader.IsEmptyElement) { reader.Read(); string title = null; while (reader.NodeType != XmlNodeType.EndElement) { if (reader.IsTextNode()) { title += reader.Value; } reader.Skip(); reader.MoveToContent(); } feed.Title = new TextSyndicationContent(title); } reader.Read(); // </source> or <source ... /> }
void ReadSourceFeed (XmlReader reader, SyndicationFeed feed) { if (reader.MoveToFirstAttribute ()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") continue; if (reader.NamespaceURI == String.Empty) { switch (reader.LocalName) { case "url": feed.Links.Add (new SyndicationLink (CreateUri (reader.Value))); continue; } } } while (reader.MoveToNextAttribute ()); reader.MoveToElement (); } if (!reader.IsEmptyElement) { reader.Read (); string title = null; while (reader.NodeType != XmlNodeType.EndElement) { if (reader.IsTextNode ()) title += reader.Value; reader.Skip (); reader.MoveToContent (); } feed.Title = new TextSyndicationContent (title); } reader.Read (); // </source> or <source ... /> }
void ReadPerson (XmlReader reader, SyndicationPerson person) { if (PreserveAttributeExtensions && reader.MoveToFirstAttribute ()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") continue; if (!TryParseAttribute (reader.LocalName, reader.NamespaceURI, reader.Value, person, Version)) person.AttributeExtensions.Add (new XmlQualifiedName (reader.LocalName, reader.NamespaceURI), reader.Value); } while (reader.MoveToNextAttribute ()); reader.MoveToElement (); } if (!reader.IsEmptyElement) { reader.Read (); for (reader.MoveToContent (); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent ()) { if (reader.IsTextNode ()) person.Email += reader.Value; else if (!TryParseElement (reader, person, Version)) { if (PreserveElementExtensions) // FIXME: what should be used for maxExtenswionSize LoadElementExtensions (reader, person, int.MaxValue); else reader.Skip (); } reader.Read (); } } reader.Read (); // end element or empty element }
void ReadLink (XmlReader reader, SyndicationLink link) { if (PreserveAttributeExtensions && reader.MoveToFirstAttribute ()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") continue; if (!TryParseAttribute (reader.LocalName, reader.NamespaceURI, reader.Value, link, Version)) link.AttributeExtensions.Add (new XmlQualifiedName (reader.LocalName, reader.NamespaceURI), reader.Value); } while (reader.MoveToNextAttribute ()); reader.MoveToElement (); } if (!reader.IsEmptyElement) { string url = null; reader.Read (); for (reader.MoveToContent (); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent ()) { if (reader.IsTextNode ()) url += reader.Value; else if (!TryParseElement (reader, link, Version)) { if (PreserveElementExtensions) // FIXME: what should be used for maxExtenswionSize LoadElementExtensions (reader, link, int.MaxValue); else reader.Skip (); } reader.Read (); } link.Uri = CreateUri (url); } reader.Read (); // </link> or <link ... /> }
void ReadCategory (XmlReader reader, SyndicationCategory category) { if (reader.MoveToFirstAttribute ()) { do { if (reader.NamespaceURI == "http://www.w3.org/2000/xmlns/") continue; if (reader.NamespaceURI == String.Empty) { switch (reader.LocalName) { case "domain": category.Scheme = reader.Value; continue; } } if (PreserveAttributeExtensions) if (!TryParseAttribute (reader.LocalName, reader.NamespaceURI, reader.Value, category, Version)) category.AttributeExtensions.Add (new XmlQualifiedName (reader.LocalName, reader.NamespaceURI), reader.Value); } while (reader.MoveToNextAttribute ()); reader.MoveToElement (); } if (!reader.IsEmptyElement) { reader.Read (); for (reader.MoveToContent (); reader.NodeType != XmlNodeType.EndElement; reader.MoveToContent ()) { if (reader.IsTextNode ()) category.Name += reader.Value; else if (!TryParseElement (reader, category, Version)) { if (PreserveElementExtensions) // FIXME: what should be used for maxExtenswionSize LoadElementExtensions (reader, category, int.MaxValue); else reader.Skip (); } reader.Read (); } } reader.Read (); // </category> or <category ... /> }