private static bool TryFormatMediaRssText(MediaRssText textToFormat, out XElement textElement) { textElement = default; if (string.IsNullOrEmpty(textToFormat?.Value)) { return(false); } if (!TryFormatMediaRssTypedText(textToFormat, "text", out textElement)) { return(false); } if (!string.IsNullOrEmpty(textToFormat.Lang)) { textElement.Add(new XAttribute("lang", textToFormat.Lang)); } if (Rfc2326NptTimeSpanFormatter.TryFormatTimeAsString(textToFormat.Start, out var startFormatted)) { textElement.Add(new XAttribute("start", startFormatted)); } if (Rfc2326NptTimeSpanFormatter.TryFormatTimeAsString(textToFormat.End, out var endFormatted)) { textElement.Add(new XAttribute("end", endFormatted)); } return(true); }
private static bool TryParseMediaRssText(XElement textElement, out MediaRssText parsedText) { if (!TryParseMediaRssTypedText(textElement, out parsedText)) { return(false); } if (TryParseStringAttribute(textElement.Attribute("lang"), out var parsedLang)) { parsedText.Lang = parsedLang; } if (TryParseTimeSpanAttribute(textElement.Attribute("start"), out var parsedStart)) { parsedText.Start = parsedStart; } if (TryParseTimeSpanAttribute(textElement.Attribute("end"), out var parsedEnd)) { parsedText.End = parsedEnd; } return(true); }