• 网络电视精灵


     public class TypeB : ChannelBase
        {
            public override void Jx()
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("files/凤凰卫视.xml");
                XmlNode root = doc.DocumentElement;
                foreach (XmlNode item in root.ChildNodes)
                {
                    if (item.Name.Equals("ProgramList"))
                    {
                        foreach (XmlNode item2 in item.ChildNodes)
                        {
                            TvProgram Tp = new TvProgram();
                            Tp.PlayTime = Convert.ToDateTime(item2["playTime"].InnerText);
                            Tp.Path = item2["path"].InnerText;
                            Tp.ProgramName = item2["name"].InnerText;
                            ProgramList1.Add(Tp);
                        }
                    }
                }
    
            }
        }
    
    }

        /// <summary>
        /// 频道管理类
        /// </summary>
       public class ChannelManager
        {
            private List<ChannelBase> list = new List<ChannelBase>();
    
            public List<ChannelBase> List
            {
                get { return list; }
                set { list = value; }
            }
    
           public void ResolveChannels() 
           {
                 //1.1 我将解析好的Data中转存放到泛型集合
               //List<自定义类>
    
               XmlDocument doc = new XmlDocument();
               doc.Load("files/FullChannels.xml");
               //找根节点  ()
               XmlNode root=doc.DocumentElement;
               foreach (XmlNode item in root.ChildNodes)
               {
                   //一个item代表什么  Channel
                    ChannelBase channel = Factory.CB(item["channelType"].InnerText); 
                   channel.ChannelType = item["channelType"].InnerText;
                   channel.ChannelName = item["tvChannel"].InnerText;
                   channel.Path = item["path"].InnerText;
    
                   //归属到一个集合中
                   list.Add(channel);
               }
           }
           
        }
    }
       /// <summary>
        /// 频道父类
        /// </summary>
       public abstract class ChannelBase
       {
           //频道类型
           public string ChannelType { get; set; }
    
           //channelName
            public string ChannelName { get; set; }
           //path
            public string Path { get; set; }
           //节目列表
            private List<TvProgram> ProgramList = new List<TvProgram>();
    
            public List<TvProgram> ProgramList1
            {
                get { return ProgramList; }
                set { ProgramList = value; }
            }
            public abstract void Jx();
    
        }
    }
    public  class Factory
        {
           //创建一个工厂类
           public static ChannelBase CB(string type)
           {
               ChannelBase types = null;
               switch(type)
               {
                   case"TypeA":
                       types = new TypeA();
                       break;
                   case"TypeB":
                       types = new TypeB();
                       break;
               }
    
               return types;
           }
        }
    }
       static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new FrmMain());
            }
        }
    }
        /// <summary>
        /// 电视节目类
        /// </summary>
        public class TvProgram
        {
            //节目名称
            public string ProgramName { get; set; }
            //时段
            public string Meridien { get; set; }
            //节目路径
            public string Path { get; set; }
            //时间
            public DateTime PlayTime { get; set; }
        }
    }
     public class TypeA:ChannelBase
        {
           public override void Jx()
           {
               XmlDocument doc = new XmlDocument();
               doc.Load("files/北京电视台.xml");
               XmlNode root = doc.DocumentElement;
               foreach (XmlNode item in root.ChildNodes)
               {
                   if (item.Name.Equals("tvProgramTable"))
                   {
                       foreach (XmlNode item2 in item.ChildNodes)
                       {
                           TvProgram Tp = new TvProgram();
                           Tp.PlayTime = Convert.ToDateTime(item2["playTime"].InnerText);
                           Tp.Meridien = item2["meridien"].InnerText;
                           Tp.Path = item2["path"].InnerText;
                           Tp.ProgramName = item2["programName"].InnerText;
                           ProgramList1.Add(Tp);
                       }
                   }
               }
    
           }
        }
    }
  • 相关阅读:
    poj1179 Polygon
    poj2677 Tour
    MariaDB10多实例--mysqld_multi
    MariaDB10源码安装
    linux下php+freetds连接SQL server2012
    MariaDB yum安装
    mongoDB yum安装
    pxe 引导clonezilla live万能备份与还原
    (转) pppd 中文man页面
    Unix-like DisplayManager/LoginManager/WindowManager
  • 原文地址:https://www.cnblogs.com/cuntouyixiaohuo/p/5845426.html
Copyright © 2020-2023  润新知