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

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

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

revision 23 by william, Thu Mar 7 11:08:48 2013 UTC revision 26 by william, Thu Mar 7 11:58:34 2013 UTC
# Line 1  Line 1 
1  #define XMLTV_PARSER_TESTING // when defined will allow calls to be made to _imp_TestParse()  //#define XMLTV_PARSER_TESTING // when defined will allow calls to be made to _imp_TestParse()
2  using System;  using System;
3  using System.Collections.Generic;  using System.Collections.Generic;
4  using System.Linq;  using System.Linq;
# Line 17  namespace libxmltv.Core Line 17  namespace libxmltv.Core
17              IXMLTV_LOADER _xmltv;              IXMLTV_LOADER _xmltv;
18              if (!Internals.VerifyInstance<IXMLTV_LOADER>(xmltv, out _xmltv)) { return; }              if (!Internals.VerifyInstance<IXMLTV_LOADER>(xmltv, out _xmltv)) { return; }
19              XMLTV_LOADER = _xmltv;              XMLTV_LOADER = _xmltv;
20                Create();
21          }          }
22          #region IXMLTV_PARSER members          #region IXMLTV_PARSER members
23          public IXMLTV_LOADER XMLTV_LOADER { get; private set; }          public IXMLTV_LOADER XMLTV_LOADER { get; private set; }
24          public void TestParse() { _imp_TestParse(); }          public void TestParse() { _imp_TestParse(); }
25            public IXMLTVSource Source { get; private set; }
26            public Dictionary<string, IXMLTVChannel> Channels { get; private set; }
27          #endregion          #endregion
28    
29          #region Parser Testing Methods          #region Parser Testing Methods
# Line 76  namespace libxmltv.Core Line 79  namespace libxmltv.Core
79          private void ParsePrograms(XDocument doc)          private void ParsePrograms(XDocument doc)
80          {          {
81              XMLTV_LOGGER.Log.Verbose.Debug.WriteLine("Parsing Program Data");              XMLTV_LOGGER.Log.Verbose.Debug.WriteLine("Parsing Program Data");
82                var elements = doc.Root.Descendants(XMLTV_CONSTANTS.PROGRAM_ELEMENT).ToList();
83                foreach (var element in elements)
84                {
85                    if (element.HasAttributes)
86                    {
87                        foreach (var attribute in element.Attributes())
88                        {
89                            XMLTV_LOGGER.Log.Verbose.Debug.WriteLine("\t\t{0} {1}: {2}", element.Name, attribute.Name, attribute.Value);
90                        }
91                    }
92                    foreach (var childEllement in element.Descendants())
93                    {
94                        if (childEllement.HasAttributes)
95                        {
96                            foreach (var attribute in childEllement.Attributes())
97                            {
98                                XMLTV_LOGGER.Log.Verbose.Debug.WriteLine("\t\t\t{0}: {1}", attribute.Name, attribute.Value);
99                            }
100                        }
101                        XMLTV_LOGGER.Log.Verbose.Debug.WriteLine("\t\t\t{0}: {1}", childEllement.Name, childEllement.Value);
102                    }
103                    //break;
104                }
105            }
106            #endregion
107    
108            #region Creation Methods
109            private void Create()
110            {
111                CreateXMLTVSource();
112                CreateXMLTVChannels();
113            }
114            private void CreateXMLTVSource()
115            {
116                XMLTVSource source = new XMLTVSource(this);
117                Source = source;
118            }
119            private void CreateXMLTVChannels()
120            {
121                XMLTVChannelCollection channels = new XMLTVChannelCollection(this);
122                Channels = channels.Collection;
123                
124          }          }
125          #endregion          #endregion
126      }      }

Legend:
Removed from v.23  
changed lines
  Added in v.26

  ViewVC Help
Powered by ViewVC 1.1.22