--- trunk/libxmltv/Core/XMLTVLoader.cs 2013/03/08 04:01:25 46 +++ trunk/libxmltv/Core/XMLTVLoader.cs 2013/03/08 10:19:32 55 @@ -6,6 +6,7 @@ using System.IO; using Enterprise.Logging; using System.Xml.Linq; +using System.Xml; namespace libxmltv.Core { @@ -19,7 +20,7 @@ private XMLTVRuntimeInstance instance; protected XMLTVLoader(string xml_file, XMLTVRuntimeInstance xmltv) { - xmltv_logger.Log.Verbose.Debug.WriteLine("Creating Instance of XMLTVLoader"); + xmltv_logger.Verbose.Debug.WriteLine("Creating Instance of XMLTVLoader"); //string _xmltv; //if (!Internals.VerifyInstance(xmltv, out _xmltv)) { return; } //xmlfile = _xmltv; @@ -35,16 +36,26 @@ private void LoadXml() { - xmltv_logger.Log.Info.WriteLine("Loading XMLTV File: {0}", instance.XmlFile.Name); - //xmltv_logger.Log.Warn.WriteLine("XML File Loading has not been implemented yet!"); + xmltv_logger.Info.WriteLine("Loading XMLTV File: {0}", instance.XmlFile.Name); + //xmltv_logger.Warn.WriteLine("XML File Loading has not been implemented yet!"); try { - instance.XmlDoc = XDocument.Load(instance.XmlFile.FullName); + var document = XDocument.Load(instance.XmlFile.FullName); + using (var ms = new MemoryStream()) + using (var xw = new XmlTextWriter(ms, Encoding.UTF8)) + { + document.Save(xw); + xw.Flush(); + StreamReader sr = new StreamReader(ms); + ms.Seek(0, SeekOrigin.Begin); + instance.XmlDoc = sr.ReadToEnd(); + } + document = null; } catch (Exception ex) { - xmltv_logger.Log.Error.WriteLine("Failed to load XMLTV File: {0}", instance.XmlFile.Name); - xmltv_logger.Log.Error.WriteLine(ex.GetBaseException().ToString()); + xmltv_logger.Error.WriteLine("Failed to load XMLTV File: {0}", instance.XmlFile.Name); + xmltv_logger.Error.WriteLine(ex.GetBaseException().ToString()); } } @@ -52,5 +63,7 @@ { //throw new NotImplementedException(); } + + } }