付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章可扩展性标记语言:XML回顾与作业点评简单工厂设计模式主要解决的问题?说出工厂类中创建对象方法的参数和返回值?使用TreeView控件时,如何获取当前选中节点的名称?预习检查XML称为什么语言?XML区分大小写吗?本章任务实现“网络电视精灵”展示所有电视台频道展示频道节目清单定制“我的电视台”会编写XML文件会读取XML文件的元素会使用TreeView创建动态树型菜单本章目标“网络电视精灵”工作原理通过读取文件,加载频道名称及节目单保存全部频道FullChannels.xml保存某电视台节目单北京电视台.xml凤凰卫视.xmlXML文件存储频道列表你能读懂文件保存的是什么吗?TypeA
2、北京电视台 files/北京电视台.xml TypeB凤凰卫视files/凤凰卫视.xmlXML文件XML概述可扩展性标记语言XML用于描述数据XML用途广泛 1002 张靓 20 1001 周杰 22节点成对出现eXtensible Markup Language 节点可自由扩展:加入性别或者身高节点区分大小写 描述的内容 一目了然 XML描述不同格式频道节目单 . 根节点 表示频道节目单格式 版本1.0注释的方法子节点 . 不同频道的节目单XML格式不同,此项目定义TypeA和TypeB两种! 另一种格式的频道节目单读取XML文件2-1 1002 张靓 20 1001 周杰 22需要读取的
3、XML明确节点层次关系,使用for遍历解析读取XML文件2-2XmlDocument myXml = new XmlDocument();myXml.Load(“Engineer.xml);XmlNode engineer = myXml.DocumentElement;foreach (XmlNode node in engineer.ChildNodes ) switch (node.Name) case Name: Console.WriteLine(姓名:0,node.InnerText); break; 加载指定的XML数据获取根节点获取当前节点的所有子节点当前节点的值当前节点名字演
4、示示例:编写XML文件并解析用于解析XML文件的类由上而下,逐行解析XML关键对象XmlDocument对象表示XML整个文档XmlNode对象表示XML文件的单个节点对象属性和方法说明XmlDocumentDocumentElement 属性获取文档的根ChildNodes 属性获取节点的所有子节点Load()方法加载整个XML的结构XmlNodeInnerText 属性当前节点的值Name属性当前节点的名字ChildNodes 属性当前节点的所有子节点所有子节点组成的集合解析获取所有电视频道2-1解析FullChannels.xml文件获取频道信息,初始化频道集合窗体加载时,解析文件并初始
5、化频道集合FullChannel明确XML节点层次关系 .1、获取根2、获取根下节点集合3、遍历集合,获取下一级节点的值解析获取所有电视频道2-2fullChannel.Clear();XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(channelPath);XmlElement xmlRoot = xmlDoc.DocumentElement;foreach (XmlNode node in xmlRoot.ChildNodes) /通过简单工厂,根据频道类型创建对象 ChannelBase channel = ChannelFactor
6、y.CreateChannel (nodechannelType.InnerText); channel.ChannelName = nodetvChannel.InnerText; channel.Path = nodepath.InnerText; this.fullChannel.Add(channel.ChannelName, channel);1、获取根2、获取根下节点集合3、获取下一级节点对象的值由节点名称查找节点对象演示示例:解析获得频道信息频道名称频道对象练习获取所有电视频道需求说明解析FullChannels.xml文件,并初始化频道集合遍历集合,输出频道名称和频道节目单本地
7、路径 .完成时间:20分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解练习解析频道节目单训练要点XML文件解析需求说明北京电视台节目单格式为TypeA类型凤凰卫视电视台节目单格式为TypeB类型编写节目单类Fetch()方法,解析不同格式节目单指导解析所有电视频道难点分析解析TypeA类型节目单 . XmlElement elem = xmlDoc.DocumentElement;foreach (XmlNode node in elem.ChildNodes) if (node.Name = tvProgramTable) foreach (XmlNode subnod
8、e in node.ChildNodes) TvProgram program = new TvProgram(); program.PlayTime = DateTime.Parse(subnodeplayTime.InnerText); program.Median = subnodemeridien.InnerText; this.ProgramList.Add(program); 完成时间:30分钟TreeView控件显示电视频道网络电视精灵中显示电视频道使用TreeView显示解析XML文档获取的“所有电视台”列表选中某电视台节点,DataGridView控件中显示节目单TreeVi
9、ew动态绑定信息使用TreeView控件创建树形菜单,实现单击子节点,文本框中显示相应节点文本 单击“添加根节点”,在TreeView中添加一个根节点选中某节点,单击“添加子节点”,在选中节点下添加子节点根节点子节点组成子节点集合TreeView的使用2-1TreeView 控件重要属性和事件属性说明NodesTreeView控件中的所有树节点SelectedNode当前TreeView控件中选定的树节点,如果当前没有选定树节点,返回值为null事件说明AfterSelect选定树节点之后发生TreeView的使用2-2节点对象(TreeNode)的属性属性说明Text节点显示的文本 Inde
10、x节点在所在集合中的索引 Parent节点的父节点(TreeNode) Level节点在树形菜单中的层级0、1.Tag节点值Nodes节点的所有下一级子节点 TreeView的应用获取当前选中的节点this.tvMenu.SelectedNode返回TreeNode对象为TreeView控件添加根节点(一级节点)为某选中节点添加子节点TreeNode rootNode = new TreeNode(音乐频道);this.tvMenu.Nodes.Add(rootNode); TreeNode rootNode;rootNode = this.tvMenu.Nodes.Add(音乐频道); th
11、is.tvMenu.SelectedNode.Nodes.Add(node);演示示例:TreeView添加节点TreeView节点删除实现TreeView节点删除和清空TreeView的应用删除节点清空节点this.tvMenu.SelectedNode.Remove();this.tvMenu.SelectedNode.Nodes.Clear();this.tvMenu.Nodes.Clear(); /清空TreeView控件中所有节点演示示例:TreeView删除节点经常用在刷新TreeView显示前TreeView显示所有频道显示所有频道/清空所有节点/初始化根结点TreeNode n
12、odeFirstLevel = new TreeNode(我的电视台);nodeFirstLevel.ImageIndex = 0;this.tvChannel.Nodes.Add(nodeFirstLevel);nodeFirstLevel = new TreeNode(所有电视台);this.tvChannel.Nodes.Add(nodeFirstLevel);/加载“所有电视台”foreach (ChannelBase dicOne in myManager.FullChannel.Values) TreeNode node = new TreeNode(); node.Text =
13、dicOne.ChannelName; node.Tag = dicOne; node.ImageIndex = 1; this.tvChannel.Nodes1.Nodes.Add(node);Upate()方法向根结点结合添加节点遍历频道对象集合设置节点显示名称Tag属性设置为频道对象获取根结点中索引为1的节点对象演示示例:显示我的电视台所有频道练习显示所有频道训练技能TreeView控件动态绑定数据需求说明显示树形菜单中“我的电视台”下所有频道列表完成时间:20分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解指导定制频道训练要点TreeView控件需求说明实现定制我
14、的频道:右键选择频道,单击“添加”,添加到“我的电视台”节点“所有电视台”节点只允许“添加”操作“我的电视台”节点只允许“删除”操作指导定制频道实现思路右键菜单“添加”事件获取选中节点,根据Tag属性获对应频道对象遍历“我的电视台”,查看是否已定制将定制的频道对象添加到MyFavor集合刷新TreeView显示修改UpdateTreeView()方法,添加遍历“我的电视台”集合对象并加载信息编写TreeView控件MouseClick事件,控制右键菜单显示难点分析选择性显示右键菜单项cmenuRight.Items1.Visible = false;完成时间:30分钟练习显示节目单需求说明单击电视台频道节点,DataGridView显示频道对应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川财经职业学院高职单招职业适应性测试考试模拟试卷附参考答案详解(能力提升)
- 2026年四川外国语大学成都学院专科高职单招职业技能考试模拟试卷附参考答案详解【综合题】
- 2025年山东省高职单招职业适应性测试考试题库及参考答案详解(巩固)
- 2024年成都技师学院单招综合素质考试题库及参考答案详解(基础题)
- 2027年湖北省单招综合素质考试题库【A卷】附答案详解
- 2024年山东寿光职业学院高职单招职业适应性测试考试题库附参考答案详解【巩固】
- 2026年初三英语连词导学案
- 2026届内蒙古鄂尔多斯市一中高三下学期一模数学试题
- 影视广告基础
- 后勤园长岗位职责
- 2026年河北(省公安厅强制医疗所)警务辅助人员招聘考试试卷-含答案解析
- 2026安徽合肥工业大学经济学院人事派遣岗位招聘4人笔试参考题库及答案详解
- 2026年黑龙江省基层法律服务工作者资格考试题库附参考答案
- T-CACM 1355-2021 中医穴位贴敷基层临床应用技术操作规范
- 培训保安队长
- JJF1033-2023计量标准考核规范
- 物业投诉的处理技巧培训
- DB65-T 4773-2024 生物安全实验室消毒技术指南
- 小学四年级数学奥数题库100道及答案(完整版)
- 林地承包种植合同范本
- 陕西省建筑工程施工通用表格、控制资料-(全套)
评论
0/150
提交评论