技能目标:◦了解W3CDOM的基本原理◦掌握System.Xml名称空间主要类的用法◦掌握在XML文档中查找、编辑元素的方法◦掌握自定义控件的用法1XML(eXtensibleMarkupLanguage,可扩展标记语言)是一种从SGML(StandardGeneralizedMarkupLanguage标准通用标记语言)中通过简化和规范化而衍生出来的一种元语言(Meta-Language),它提供了一种描述结构化数据的方法。元标记语言可以创建其他新的标记语言,比如XHTML、SVG、SMIL、MathML等等。与主要用于控制数据的显示和外观的HTML标记不同,XML标记用于定义数据本身的结构和数据类型。在这一章里,我们就使用XML作为存储数据的工具,制作一个“通讯录应用程序”。23设计XML文件结构◦联系人信息(address.xml)◦分组XML(group.xml)4“个人通讯录”主界面设计5设计AddressXml类◦在程序实现过程中,会多次涉及到对XML文件的操作,故这里将对XML的操作集中到AddressXml类中来,以方便在使用过程中从该类调用相应方法。6设计“联系人信息”控件7实现“浏览联系人”功能◦向项目中添加窗体并重命名为“FrmPersonList.cs”,设置其Text为“浏览联系人”。在FrmPersonList窗体的Load事件中读取所有的“联系人”节点。8实现“添加联系人”功能9实现“查找和编辑”功能101、XML文档对象模型(DOM)◦DOM概述DOM模型的基本思想是将整个XML文档载入内存,解析出文档中的所有节点并用对象表示出来,再将这些节点对象构造成树状结构,各种编辑操作都是在这棵文档对象树上进行的。对于体积不大的XML文档进行编辑和处理,使用DOM非常方便。111、XML文档对象模型(DOM)◦XML节点类型使用DOM将XML读入内存时会创建节点对象。然而,并非所有节点都具有相同的属性和行为。因此,在读取各种数据时,将为每个节点分配一种节点类型。此节点类型确定节点的特性和功能。例如可以给元素节点增加Attribute节点,而对于文本节点、注释节点等等就没有Attribute概念。121、XML文档对象模型(DOM)◦XML文档对象模型(DOM)层次结构在.NET中,与DOM相关的被组织在System.Xml命名空间中。132、使用DOM处理XML文档◦创建XML文档◦保存文档143、在DOM中检索结点◦检索节点是DOM的基本操作。不论是编辑节点内容还是操作节点属性,首先需要获取对节点的引用。DOM提供了多种方法和属性来完成节点的检索,这些方法或属性的返回值不外乎两种情况:一是单个节点对象,二是节点列表。154、绘制图形◦访问DOM中的特性(Attribute)特性(Attribute)是元素的属性,不是元素的子级。这一区别很重要,因为用来浏览XMLDOM树中同辈、父级和子节点的方法或属性对于Attribute不起作用。165、向XML文档中添加结点◦要为DOM树添加新的节点,不能直接使用new运算符来创建相应的节点对象,而只能通过XmlDocument对象所提供的Creat方法来创建节点。176、移除XML文档中的节点、内容和值◦从DOM中移除节点◦移除DOM中的节点内容187、修改XML文档中的节点、内容和值更改节点值的一个简单方法是使用:node.Value=newvalue;19【实训目的】◦在了解了如何操作XML文档以后,来让我们为“个人通讯录”增加分组管理功能,添加一个如图8-9的窗体。【任务描述】◦1、删除分组,并删除该分组的所有联系人◦2、添加分组,当组名已经存在时给出提示20【任务描述】制作一个“电子书管理系统”。(1)浏览、添加、编辑电子书信息。(2)对电子书信息进行分类。(3)能按多种条件进行查找。21