Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }