private static bool TryParseRss10Image(XElement imageElement, XNamespace rss, ExtensionManifestDirectory extensionManifestDirectory, out Rss10Image parsedImage) { parsedImage = default; if (imageElement == null) { return(false); } parsedImage = new Rss10Image(); parsedImage.About = imageElement.Attribute(_rdf + "about")?.Value; parsedImage.Title = imageElement.Element(rss + "title")?.Value.Trim(); parsedImage.Url = imageElement.Element(rss + "url")?.Value.Trim(); parsedImage.Link = imageElement.Element(rss + "link")?.Value.Trim(); // extensions ExtensibleEntityParser.ParseXElementExtensions(imageElement, extensionManifestDirectory, parsedImage); return(true); }
private static bool TryFormatRss10Image(Rss10Image imageToFormat, bool referenceOnly, XNamespaceAliasSet namespaceAliases, ExtensionManifestDirectory extensionManifestDirectory, out XElement imageElement) { imageElement = default; if (imageToFormat == null) { return(false); } imageElement = referenceOnly ? new XElement(_rss + "image", new XAttribute(_rdf + "resource", imageToFormat.About ?? "")) : new XElement(_rss + "image", new XAttribute(_rdf + "about", imageToFormat.About ?? "")); if (referenceOnly) { return(true); } imageElement.Add(new XElement(_rss + "title") { Value = imageToFormat.Title ?? "" }); imageElement.Add(new XElement(_rss + "url") { Value = imageToFormat.Url ?? "" }); imageElement.Add(new XElement(_rss + "link") { Value = imageToFormat.Link ?? "" }); // extensions if (ExtensibleEntityFormatter.TryFormatXElementExtensions(imageToFormat, namespaceAliases, extensionManifestDirectory, out var extensionElements)) { imageElement.AddRange(extensionElements); } return(true); }