using System.IO; using System.Xml; using System.Xml.Linq; namespace Microsoft.Extensions.Logging.Log4Net.AspNetCore.Extensions { /// /// Class with XmlDocument and XDocument extensions. /// internal static class DocumentExtensions { /// /// Converts a XmlDocument object into xDocument. /// /// The XML document. /// The XmlDocument converted to XDocument public static XDocument ToXDocument(this XmlDocument xmlDocument) { using (var memoryStream = new MemoryStream()) { xmlDocument.Save(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); return XDocument.Load(memoryStream); } } /// /// Converts a XDocument object into XmlDocument /// /// The x document. /// The XDocument converted to XmlDocument public static XmlDocument ToXmlDocument(this XDocument xDocument) { using (var memoryStream = new MemoryStream()) { xDocument.Save(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); var xmlDoc = new XmlDocument(); xmlDoc.Load(memoryStream); return xmlDoc; } } } }