/[xmltv_parser]/trunk/libxmltv/Core/XMLTVLoader.cs
ViewVC logotype

Diff of /trunk/libxmltv/Core/XMLTVLoader.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 69 by william, Sat Mar 9 01:36:49 2013 UTC revision 72 by william, Sat Mar 9 09:29:40 2013 UTC
# Line 9  using System.Xml.Linq; Line 9  using System.Xml.Linq;
9  using System.Xml;  using System.Xml;
10    
11  namespace libxmltv.Core  namespace libxmltv.Core
12  {    {
13      internal class XMLTVLoader : IDisposable      internal class XMLTVLoader : XMLTVBase<XMLTVRuntimeInstance>, IDisposable
14      {      {
15          private string xmlfile = string.Empty;          private string xmlfile = string.Empty;
16          internal static void CreateInstance(string xml_file, XMLTVRuntimeInstance xmltv)          //internal static void CreateInstance(string xml_file, XMLTVRuntimeInstance xmltv)
17          {          //{
18              using (XMLTVLoader g = new XMLTVLoader(xml_file, xmltv)) { }                      //    using (XMLTVLoader g = new XMLTVLoader(xml_file, xmltv)) { }            
19          }          //}
20          private XMLTVRuntimeInstance instance;          protected XMLTVLoader(string xml_file, XMLTVRuntimeInstance instance)
21          protected XMLTVLoader(string xml_file, XMLTVRuntimeInstance xmltv)              : base(instance)
22          {          {
23              xmltv_logger.Debug.WriteLine("Creating Instance of XMLTVLoader");              xmltv_logger.Debug.WriteLine("Creating Instance of XMLTVLoader");
24              //string _xmltv;             var fi = new FileInfo(xml_file);
25              //if (!Internals.VerifyInstance<string>(xmltv, out _xmltv)) { return; }             this.GetInstance().XmlFile_FullName = fi.FullName;
26              //xmlfile = _xmltv;             this.GetInstance().XmlFile_Name = fi.Name;
             //LoadXml();  
             instance = xmltv;  
             instance.XmlFile = new FileInfo(xml_file);  
27              LoadXml();              LoadXml();
28                xmltv_logger.Debug.WriteLine("Created Instance of XMLTVLoader");
29          }          }
         //#region IXMLTV_LOADER  
         //public FileInfo XmlFile { get { return new FileInfo(xmlfile); } }  
         //public XDocument XmlDoc { get; private set; }  
         //#endregion  
30    
31          private void LoadXml()          private void LoadXml()
32          {          {
33              xmltv_logger.Info.WriteLine("Loading XMLTV File: {0}", instance.XmlFile.Name);              xmltv_logger.Info.WriteLine("Loading XMLTV File: {0}", this.GetInstance().XmlFile_Name);
34              //xmltv_logger.Warn.WriteLine("XML File Loading has not been implemented yet!");              //xmltv_logger.Warn.WriteLine("XML File Loading has not been implemented yet!");
35              try              try
36              {              {
37                  var document = XDocument.Load(instance.XmlFile.FullName);                  var document = XDocument.Load(this.GetInstance().XmlFile_FullName);
38                  using (var ms = new MemoryStream())                  using (var ms = new MemoryStream())
39                  using (var xw = new XmlTextWriter(ms, Encoding.UTF8))                  using (var xw = new XmlTextWriter(ms, Encoding.UTF8))
40                  {                  {
# Line 48  namespace libxmltv.Core Line 42  namespace libxmltv.Core
42                      xw.Flush();                      xw.Flush();
43                      StreamReader sr = new StreamReader(ms);                      StreamReader sr = new StreamReader(ms);
44                      ms.Seek(0, SeekOrigin.Begin);                      ms.Seek(0, SeekOrigin.Begin);
45                      instance.XmlDoc = sr.ReadToEnd();                      this.GetInstance().XmlDoc = sr.ReadToEnd();
46                  }                  }
47                  document = null;                  document = null;
48              }              }
49              catch (Exception ex)              catch (Exception ex)
50              {              {
51                  xmltv_logger.Error.WriteLine("Failed to load XMLTV File: {0}", instance.XmlFile.Name);                  xmltv_logger.Error.WriteLine("Failed to load XMLTV File: {0}", this.GetInstance().XmlFile_Name);
52                  xmltv_logger.Error.WriteLine(ex.GetBaseException().ToString());                  xmltv_logger.Error.WriteLine(ex.GetBaseException().ToString());
53              }              }
54          }          }

Legend:
Removed from v.69  
changed lines
  Added in v.72

  ViewVC Help
Powered by ViewVC 1.1.22