public static bool TryFormatRss10SlashExtension(Rss10SlashExtension extensionToFormat, XNamespaceAliasSet namespaceAliases, out IList <XElement> elements) { elements = default; if (extensionToFormat == null) { return(false); } elements = new List <XElement>(); if (TryFormatRss10SlashTextElement(extensionToFormat.Section, "section", namespaceAliases, out var sectionElement)) { elements.Add(sectionElement); } if (TryFormatRss10SlashTextElement(extensionToFormat.Department, "department", namespaceAliases, out var departmentElement)) { elements.Add(departmentElement); } if (TryFormatRss10SlashComments(extensionToFormat.Comments, namespaceAliases, out var commentsElement)) { elements.Add(commentsElement); } if (TryFormatRss10SlashHitParade(extensionToFormat.HitParade, namespaceAliases, out var hitParadeElement)) { elements.Add(hitParadeElement); } if (!elements.Any()) { return(false); } return(true); }
public static bool TryParseRss10SlashExtension(XElement parentElement, out Rss10SlashExtension extension) { extension = null; if (parentElement == null) { return(false); } foreach (var ns in Rss10SlashExtensionConstants.RecognizedNamespaces) { if (TryParseRss10SlashTextElement(parentElement.Element(ns + "section"), out var parsedSection)) { extension = extension ?? new Rss10SlashExtension(); extension.Section = parsedSection; } if (TryParseRss10SlashTextElement(parentElement.Element(ns + "department"), out var parsedDepartment)) { extension = extension ?? new Rss10SlashExtension(); extension.Department = parsedDepartment; } if (TryParseRss10SlashComments(parentElement.Element(ns + "comments"), out var parsedComments)) { extension = extension ?? new Rss10SlashExtension(); extension.Comments = parsedComments; } if (TryParseRss10SlashHitParade(parentElement.Element(ns + "hit_parade"), out var parsedHitParade)) { extension = extension ?? new Rss10SlashExtension(); extension.HitParade = parsedHitParade; } } return(extension != null); }