zoukankan      html  css  js  c++  java
  • 网络电视精灵

     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);
                       }
                   }
               }
    
           }
        }
    }
  • 相关阅读:
    [LeetCode] 314. Binary Tree Vertical Order Traversal
    [LeetCode] 139. Word Break
    [LeetCode] 540. Single Element in a Sorted Array
    [LeetCode] 1443. Minimum Time to Collect All Apples in a Tree
    [LeetCode] 1442. Count Triplets That Can Form Two Arrays of Equal XOR
    [LeetCode] 1441. Build an Array With Stack Operations
    [LeetCode] 277. Find the Celebrity
    [LeetCode] 1232. Check If It Is a Straight Line
    [LeetCode] 10. Regular Expression Matching
    [LeetCode] 1192. Critical Connections in a Network
  • 原文地址:https://www.cnblogs.com/cuntouyixiaohuo/p/5845426.html
Copyright © 2011-2022 走看看