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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (show annotations) (download)
Sat Mar 9 12:23:27 2013 UTC (7 years, 6 months ago) by william
File size: 2150 byte(s)

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using libxmltv.Interfaces;
6 using System.IO;
7 using Enterprise.Logging;
8 using System.Xml.Linq;
9 using System.Xml;
10
11 namespace libxmltv.Core
12 {
13 internal class XMLTVLoader : XMLTVBase<XMLTVRuntimeInstance>, IDisposable
14 {
15 //private string xmlfile = string.Empty;
16 public XMLTVLoader(string xml_file) : base(null, xml_file) { }
17 protected XMLTVLoader(string xml_file, XMLTVRuntimeInstance instance)
18 : base(instance, xml_file)
19 {
20 xmltv_logger.Debug.WriteLine("Creating Instance of XMLTVLoader");
21 var fi = new FileInfo(xml_file);
22 this.GetInstance().XmlFile_FullName = fi.FullName;
23 this.GetInstance().XmlFile_Name = fi.Name;
24 LoadXml();
25 xmltv_logger.Debug.WriteLine("Created Instance of XMLTVLoader");
26 }
27
28 private void LoadXml()
29 {
30 xmltv_logger.Info.WriteLine("Loading XMLTV File: {0}", this.GetInstance().XmlFile_Name);
31 //xmltv_logger.Warn.WriteLine("XML File Loading has not been implemented yet!");
32 try
33 {
34 var document = XDocument.Load(this.GetInstance().XmlFile_FullName);
35 using (var ms = new MemoryStream())
36 using (var xw = new XmlTextWriter(ms, Encoding.UTF8))
37 {
38 document.Save(xw);
39 xw.Flush();
40 StreamReader sr = new StreamReader(ms);
41 ms.Seek(0, SeekOrigin.Begin);
42 this.GetInstance().XmlDoc = sr.ReadToEnd();
43 }
44 document = null;
45 }
46 catch (Exception ex)
47 {
48 xmltv_logger.Error.WriteLine("Failed to load XMLTV File: {0}", this.GetInstance().XmlFile_Name);
49 xmltv_logger.Error.WriteLine(ex.GetBaseException().ToString());
50 }
51 }
52
53 public void Dispose()
54 {
55 //throw new NotImplementedException();
56 }
57
58
59 }
60 }

  ViewVC Help
Powered by ViewVC 1.1.22