/// <summary> /// Attempt to parse a <see cref="XmlNodeCommentProvider"/> from given doc-comment xml string. /// </summary> /// <param name="xml">Xml containing doc-comment content to parse</param> /// <param name="provider">Provider if parsed successfully, otherwise null</param> /// <returns>True if parsed successfully, otherwise false</returns> public static bool TryParse(string xml, out XmlNodeCommentProvider provider) { if (string.IsNullOrEmpty(xml)) { throw new ArgumentException($"Invalid xml: '{xml}' provided", nameof(xml)); } var doc = new XmlDocument(); try { doc.LoadXml(xml); provider = new XmlNodeCommentProvider(doc); return(true); } catch (XmlException) { provider = default; return(false); } }
/// <summary> /// Attempt to parse a <see cref="XmlNodeCommentProvider"/> from given doc-comment stream. /// </summary> /// <param name="xmlStream">Stream containing doc-comment xml to parse</param> /// <param name="provider">Provider if parsed successfully, otherwise null</param> /// <returns>True if parsed successfully, otherwise false</returns> public static bool TryParse(Stream xmlStream, out XmlNodeCommentProvider provider) { if (xmlStream == null) { throw new ArgumentNullException(nameof(xmlStream)); } var doc = new XmlDocument(); try { doc.Load(xmlStream); provider = new XmlNodeCommentProvider(doc); return(true); } catch (XmlException) { provider = default; return(false); } }