private static bool TryFormatMediaRssHash(MediaRssHash hashToFormat, out XElement hashElement)
        {
            hashElement = default;

            if (string.IsNullOrEmpty(hashToFormat?.Value))
            {
                return(false);
            }

            hashElement = new XElement(_media + "hash", hashToFormat.Value);

            if (hashToFormat.Algo != MediaRssHashAlgo.Md5)
            {
                hashElement.Add(new XAttribute("algo", hashToFormat.Algo.ToString().ToLowerInvariant()));
            }

            return(true);
        }
        private static bool TryParseMediaRssHash(XElement hashElement, out MediaRssHash parsedHash)
        {
            parsedHash = default;

            if (string.IsNullOrWhiteSpace(hashElement?.Value))
            {
                return(false);
            }

            parsedHash = new MediaRssHash
            {
                Value = hashElement.Value.Trim(),
            };

            if (TryParseEnumAttribute <MediaRssHashAlgo>(hashElement.Attribute("algo"), out var parsedAlgo))
            {
                parsedHash.Algo = parsedAlgo;
            }

            return(true);
        }