易语言XML支持库入门教程.doc

上传人:土8路 文档编号:11074889 上传时间:2021-06-26 格式:DOC 页数:24 大小:308KB
返回 下载 相关 举报
易语言XML支持库入门教程.doc_第1页
第1页 / 共24页
易语言XML支持库入门教程.doc_第2页
第2页 / 共24页
易语言XML支持库入门教程.doc_第3页
第3页 / 共24页
易语言XML支持库入门教程.doc_第4页
第4页 / 共24页
易语言XML支持库入门教程.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《易语言XML支持库入门教程.doc》由会员分享,可在线阅读,更多相关《易语言XML支持库入门教程.doc(24页珍藏版)》请在三一文库上搜索。

1、http:/ 插入属性()10三、XML树. 修改节点名()、XML树.修改节点值()10四、XML树.修改属性名()、XML树.修改属性值()12五、XML树.删除节点()、XML树.删除属性()13第四节、操作类命令15一、XML树.取根节点名()15二、XML树.取所有子节点名()16三、XML树.取子节点个数()16四、XML树.取子节点数()17五、XML树.取子节点名()17六、XML树.取节点值()18七、XML树. 取全部属性名()19八、XML树. 取属性值()20第五节、特殊处理命令20一、XML树.批量删除节点()20二、XML树. 批量取节点值()22三、XML树.批量

2、修改节点值()22XML发展历程一标记的由来标记行为的本身由来已久,比如我们所熟知的对财务报表的注释、差旅费用的名细等等,我们都可以把它理解为标记。标记的意思就是为某物加上记号(Marking it up),现在有很多的文本处理系统也正是基于这个原理而出现的。其中由标记引发而来的标记语言的杰出的代表之一就是xml。标记可以分为格式化标记等等。二标记语言的由来1969年由于需要处理不同系统间文档的共享问题由IBMsCharles等3位研究人员发明了一种标记语言GML。这门语言主要解决了不同系统文档的共享。然而伴随着网络应用的迅速发展HTML已经不能很好的跟上网络发展的脚步。虽然现在HTML还是网

3、络应用的主流,但是它的局限在今天也是非常的明显。下面看一个例子,左侧表示了所要表示的两个人员的联系方式信息,右侧是用HTML语言进行的描述。如下图所示: 上图显示了员工的具体信息,如代号、电话等。通过这个例子大家可以体会它的不足。比如不能很好的理解“TOM”的含义等等。HTML的局限:Html只支持简单的段落,不支持自定义数据的层次。Html要求文档过于完整。这也是它结构本身的要求所至。Html无法真正进行数据交换。Html不可以重用。等等。在这个大的背景下XML(可扩展标记语言)应运而生。XML也可以看作是GML的优化,它是一种元语言,可以用来描述其他语言。由于XML是基于文本格式的,开发者

4、可以很容易在不同的程序中对它的数据进行交换。面对无限的发展空间,XML也被业界赋予了更高的评价和期待从未来十大主流技术中的排名就可以看出。XML以它的信息共享、数据传输、数据的重用、分离数据和表示、可扩展性、文档包含语义等一系列的优势而很快的得到了业界的认可。也正式基于上述情况,易语言公司也对这样的技术提供了XML解析支持库的支持。三可扩展标记语言XML从上述种种我们可以明显的看到通过XML的标记表示数据的逻辑结构,这样就保持了数据库的一些相关特性,包括数据查询等,而且很容易进行相应的程序开发。然后通过程序把逻辑处理后的XML转化为相应显示风格的HTML。本书要求在学习易语言XML支持库的时候

5、,您应该已经掌握的知识有:XML基础。但有的读者可能第一次接触到XML,因此在这里还是给大家简单介绍一下。实际上,只要你会一些HTML语言的基础,学这个是非常容易的,而且如果你掌握了XML语言的手写知识,那么使用易语言的XML解析支持库也将是轻而易举。注意:本读物中没有特别注释的例程将沿用前一个例程;四XML的基本格式XML文档由:声明,根节点、子节点、节点属性、节点值组成。其中声明基本是固定的,如果改变将不能正确显示,根节点是必须而且是唯一的。如下表所示:l l l l 值l l l l XML构成: 声明 根节点 子节点 节点属性 节点值下面给出一个实际的XML文档例子以说明: - 姓名

6、ID 性别 上面的例子中,第一行是声明项,一般不要改变这个内容,其中的GB2312表示的是字符集,也不要去改变它。实际上它就是XML文件的标识。第二行与最后一行就是根节点,其中的内容就是子节点内容。子节点下面还可以再加子节点,形成孙节点。易语言的XML支持库实际的就是读写XML文档,你也可以不用支持库,直接用手工去写一个文本。作业:手工写一个XML文档,描述你身边的人或同事,或某些事物。第一节、关于XML支持库的简介及功能分类一易语言XML支持库所能实现的功能伴随着网络应用的迅速发展HTML(超文本标记语言)已经不能很好的跟上网络发展的脚步。因此,在这个大的背景下XML(可扩展标记语言)应运而

7、生。面对无限的发展空间,XML也被业界赋予了更高的评价和期待从未来十大主流技术中的排名就可以看出。虽然以上种种大都是业界一些主观的评论,但是从目前的实际应用情况来看,也是可以左证XML技术将拥有美好的前景的。与此同时,大有吴涛易语言软件开发有限公司秉承自己一贯优良的发展理念编程语言民族化、民族语言简单化、简单语言实用化,同时也为了让更多的编程爱好者能更快的学习新的开发理念、掌握新的开发技术,为大家提供更宽广的开发环境从而迅速将这样一门优秀的技术容入到易语言中,因此也就形成了我们今天所要讲解的XML支持库。在易语言提供的该XML支持库中,将以针对XML文件的操作为主线来展开的。因此,可以想象的到

8、,该支持库主要功能是如何创建XML文件、如何使XML文件的节点中有属性、如何取出数据等等。易语言的XML支持库并没有相对应的组件来供大家使用,而是使用了面向对象的开发模式,也就是通常我们大家所熟知的类。因此在调用XML支持库的时候,需要首先声明XML树对象,通过这个声明的XML树(也就是XML支持库)对象来调用其中的所有方法。二易语言XML支持库按功能分类2、1创建类命令(一):创建、释放、导入、导出;2、2创建类命令(二):插入节点、插入属性、修改节点名、修改节点值、修改二进制值、修改属性名、修改属性值、删除节点、删除属性;2、3操作类命令:取根节点名、取子节点数、取子节点名、取节点值、取二

9、进制值、取全部属性名、取属性值、取根节点名文本、取子节点个数、取所有子节点名、取节点值文本、取节点值字节集、取属性个数、取所有属性名、取属性值文本、取XML数据;2、4特殊处理命令:批量删除节点、批量取节点值、批量修改节点值;以上的功能分类,将成为本讲义的主线,我们也将围绕该分类,进行该支持库命令的逐一讲解,同时我们也将通过实例来配合讲解。第二节、创建类命令(一)创建、释放、导入、导出;一般的XML文件基本结构就是由声明和若干的节点(元素)组成。通常我们把最上层的节点称为根节点。本节我们将使用该支持库中的“创建、释放、导入、导出”来尝试创建、生成、导入我们第一个XML文件在第一节中我们已经交代

10、过,易语言的XML支持库是以类的形式存在的。因此,想使用它就必须首先声明一个XML树对象。我们在这里声明一个obj_xml的XML树对象。代码实现如下:当我们完成声明后,我们就可以使用所有XML树对象中的所有方法,也可以理解为XML支持库中的所有方法了一、XML树.创建()首先我们去创建一个.XML文件,这里我们就使用到了XML树的创建()方法。代码实现如下:XML树.创建()概述:该方法将在系统内存中按要求添加一个指定根节点的且只包含一个节点的XML树,并且该XML树只抽象存在于内存中,并没有生成对应的物理实现。在本例程中将在内存中创建了一个根节点为“易XML文件”的XML文件。二、XML树

11、.导出到文件()如果想要将上述内存中的XML树对象obj_xml实际的显示出来并形成文件还需要配合XML树.导出到文件()XML树.导出到文件()概述:使用该方法可以将已经创建于内存中的XML树以.xml的形式保存成XML文件。在我们这个例程中,我们将要求在创建了XML文件的同时,还需要将该文件显示在编辑框中。运行效果如图:(程序的部分截图)具体的代码实现如下:可以通过该代码段知道,将在本程序的运行目录下创建一个名为Eexc.xml的文件。三、XML树.释放()程序编写到这里,如果细心的用户可能会发现XML树.创建()是将XML树创建在内存当中,如果每次调试的时候忘记消除它,那么它将在内存中占

12、据很大的资源。这样做的后果对系统的维护是十分的不利,因此每当创建完毕要退出程序的时候就需要释放XML树所占据的内存空间,这就使用到我们这里提到的XML树.释放()方法。XML树.释放()概述:该方法将内存中的已经创建的XML树释放。因为是对内存进行操作,因此并没有非常直观的显示出来具体的实现过程。代码实现如下:四、XML树.导入()上述所讲解的3个方法主要是教大家通过代码动态的创建一个XML文件,如果大家想要打开一个已经存在的XML文件,就需要去使用XML树对象的另一个方法XML树.导入()方法。XML树.导入()概述:通过该方法,直接调用一个已经存在的XML文件。但是需要注意的是,该方法也仅

13、仅是在内存中按照该XML文件的具体结构创建了一个相对应的XML树。因此,该方法和XML树.创建()方法是一个工作原理,但是区别在于就是XML树.创建()方法是动态的在内存中创建一个XML树,而XML树.导入()方法是按照一个已经存在的XML文件的结构在内存中创建一个完全对应的XML树。这里,我们动手导入我们刚才已经创建的Eexc.xml文件运行效果图:代码如下:本段代码就可以实现上面运行的效果,并且会将选中的XML文件以文本的形式添加到组件编辑框_显示XML树中。这一节主要讲解的是简单创建XML文件,需要大家做的是自己动创建一个XML文件。第三节、创建类命令(二)插入节点、插入属性、修改节点名

14、、修改节点值、修改二进制值、修改属性名、修改属性值、删除节点、删除属性;通过上一节的讲解,期待的效果是使大家明白如何使用易语言的XML支持库去创建一个简单的XML文件。但是仅仅掌握这些知识是不够的,毕竟XML本身就拥有一个很复杂的结构。如果想创建一个比较完整的XML文件还需要大家掌握添加属性、给属性添加值、添加子节点等等知识点。想要达到这个目标,就需要大家继续学习。一、XML树.插入节点()既然每个XML文件有一个根节点,那么就可以想象的出它本身应该有子节点。只是,子节点是可以无限的多而不是唯一。在XML文件中子节点可以无限扩展,既可以拥有若干的子节点,同时子节点也可以拥有若干的“同辈”子节点

15、,他们可以统一的成为根节点的子节点,同时又是它们自身下的所有子节点的父节点。在第一节中,我们已经创建了一个Eexc.xml文件,但是它是只有一个根节点的XML文件。如果我们想让它拥有一个名为“第一个节点”的子节点,那么我们将使用到XML树.插入节点()方法。XML树.插入节点()概述:对指定的节点进行操作,在它的下级创建一个子节点,此时被指定的节点就成为该子节点的父节点。同样,我们针对Eexc.xml文件进行操作,在它的根节点下添加一个名为“第一层子节点”的子节点运行效果图:通过这幅图片大家应该看到,在和之间多了的这个子节点,这个效果就是通过XML树.插入节点()这个方法实现的。代码如下:通过

16、这个命令的学习,大家应该作到如何进行多个子节点的添加。二、XML树. 插入属性()了解XML的朋友都知道,XML的结构并不但但是他的节点,还有对节点的属性。如何添加节点的属性,将是我们接下来的学习任务。我们同样使用Eexc.xml文件,对他下级的“第一层子节点”添加“备注”属性,然后赋值为“演示”。XML树. 插入属性()概述对指定节点添加属性操作具体的操作方法和XML树.插入节点()方法是一样的,但是区别就是插入属性()方法是给对应的节点添加一个属性,而不是从新创建属性节点。运行效果图:大家注意看画线的部分,这里是就是我们为第一层子节点所添加的备注属性。代码如下:结合该代码实现的图片和效果图

17、,我们可以清晰的看到,如何对一个指定的节点进行属性的插入。三、XML树. 修改节点名()、XML树.修改节点值()根据所提供的方法名称就可以知道我们可以根据提供的方法去修改已经创建的节点名称和节点的值。XML树.修改节点名()、XML树.修改节点值()概述XML树.修改节点名()该方法会修改指定节点的名称XML树.修改节点值()该方法将修改指定节点的值这里我们继续对Eexc.xml操作,将它的字节点考虑如何添加多层子节点修改为考虑如何添加多层子节点。具体的代码实现为:运行效果图为:这个效果图与以前的Eexc.xml的区别就是将字节点换成了。同样的道理,我们现在要将节点一的值“考虑如何添加多层子

18、节点”换成“姓名”,将采用同样的操作手法,但是需要使用的命令就是前边介绍的XML树.修改节点值()。实现如下:运行效果图:四、XML树.修改属性名()、XML树.修改属性值()XML节点拥有自定义的属性,这个也是和HTML的区别之一。这两个方法将让我们对XML节点的属性进行修改。XML树.修改属性名()、XML树.修改属性值()概述XML树.修改属性名()修改指定节点属性名称XML树.修改属性值()修改指定节点属性的值我们知道,现在的Eexc.xml文件中的节点一的属性是备注,现在我们就将这个“备注”属性进行修改成“用户属性”属性。代码如下:运行效果截图:同样对用户属性的值进行更改,我们需要使

19、用XML树.修改属性值()代码如下:运行效果图:五、XML树.删除节点()、XML树.删除属性()在讲解这两个方法之前,需要我们创建一个新的XML文件Eexc_delete.xml文件进行操作。具体的格式如图:既然可以修改节点、属性,因此也可以对属性节点进行删除操作。XML树.删除节点()、XML树.删除属性()概述XML树.删除节点()删除指定的节点;XML树.删除属性()删除指定节点的属性;在这个例程中,我们将删除节点一的属性,然后再将节点一删除。首先删除属性。代码如下:运行效果图:通过这图,可以清楚的看到将节点一的用户属性彻底删除,这个方法需要注意的是直接将属性及属性值一起删除,因此不需

20、要在删除属性的时候在去考虑如何删除对应的属性值。接下来我们去删除节点一这个节点。使用的方法就是XML树.删除节点()。代码如下:运行效果图:第三节的课程结束。期望的学习目标是,能够使用该XML支持库创建一个完成的XML文档。多节点、多属性、多层子节点等等。第四节、操作类命令取根节点名、取子节点数、取子节点名、取节点值、取二进制值、取全部属性名、取属性值、取根节点名文本、取子节点个数、取所有子节点名、取节点值文本、取节点值字节集、取属性个数、取所有属性名、取属性值文本、取XML数据;本节将主要讲述关于XML文件的操作的一些知识点。由于本节的许多方法有相似的地方,因此我们将着重选取有代表性的几条方

21、法进行讲解。本节将主要使用的方法是:取根节点名、取所有子节点名、取子节点个数、取子节点数、取子节点名、取节点值、取全部属性名、取属性值。一、XML树.取根节点名()使用本方法,可以将指定XML文件的根节点名称提出。XML树.取根节点名()概述本方法可以将根节点提出,并放置在该方法的第2个参数中。这就是说第2个参数必须是文本型的变量。这个环节是本方法的难点。现在我们仍然使用Eexc.xml文件进行操作,并将取出的根节点放置在列表框中。代码如下:运行效果图:二、XML树.取所有子节点名()看到本方法的名称可以很直观的想象到就是将指定的XML的节点全部提取出来XML树. 取所有子节点名()概述可以将

22、所有指定节点下的子节点名称提取出来,并且需要保存在一个文本数组变量中。我们在对Eexc.xml操作之前,首先对这个XML文件进行改动需要添加两个子节点,分别为,然后针对这个文件提取它所有的节点名。运行效果图:代码如下:三、XML树.取子节点个数()有的时候,我们需要知晓指定XML文件的某个节点下有多少个子节点。E语言的XML支持库中,明确了取子节点个数()这个方法。XML树.取子节点个数()概述通过使用本方法,可以将指定XML文件的某个节点下的所有子节点个数显示出来。运行效果图:代码如下:四、XML树.取子节点数()在易语言的XML支持库中,能完成查询节点个数的并不完全是取子节点个数()这一个

23、方法,我们也可以通过取子节点数完成相同功能。XML树.取子节点数()概述同样,这个方法也需要为它指定节点,对指定节点下的所有子节点数进行操作。并且,该数值将被自动赋予给这个方法中的第二个参数。现在我们提取Eexc.xml文件中根节点下的所有子节点的数值,并用信息框显示出来。运行效果图:代码如下:五、XML树.取子节点名()前边我们已经讲解过如何提取指定节点下的所有子节点名,但是正如前面我们提到过的一样,这里也并不仅仅只有一个取所有子节点名这个方法。还有一个功能相近的方法就是取子节点名()。XML树.取子节点名()概述该方法会根据内部的计算机制,将提取的所有子节点名自动添加到这个方法中的第二个参

24、数中。可以想象的出,是一个文本型的数组变量。同样,我们提取Eexc.xml文件中根节点下的所有子节点名称,并且添加到列表中。运行效果图:代码如下:六、XML树.取节点值()到这里我们一直是对节点的个数、节点名进行操作,现在我们需要对节点的值进行提取。这就需要我们使用XML树.取节点值()方法。XML树.取节点值()概述本方法将返回一个逻辑值。运行的结果将被放置在这个方法的第二个参数中,由于节点的值只能有一个,因此该方法的第二个参数就是一个文本型变量。现在我们提取Eexc.xml中的第一个节点的值,并用信息框显示出来。运行效果图:代码如下:七、XML树. 取全部属性名()对于属性的操作也同样是该

25、支持库中的重点;XML树.取全部属性名()使用本方法,可以提取指定节点的属性名。但是这里需要注意的是,它和前面所提到过的几个方法不同的地方是,只能一个指定的且有属性的节点进行操作,否则将失败。和前几个方法也有相同的地方,就是它的第二个参数也是将在执行本方法后自动添加值。运行效果图:代码实现图:如果该节点的属性有多个,那么本代码将可以将所有的属性名全部提取出来。八、XML树. 取属性值()在这个支持库中,可以很容易的发现它的规律。也就是每当有一个对对象名进行操作的方法的时候,必然会有一个对该对象值进行操作的方法。因此,当我们能对属性进行操作的时候,就必然可以对属性的值进行操作。XML树.取属性值

26、()概述通过本方法,将非常轻松的提取指定节点属性的值。这里我们将提取节点一中的属性值,因为我们的程序例程比较简单,因此我们可以直接得出属性的值。这里就要求大家思考如何在不了解XML文件结构的时候能提取指定节点属性的值。运行效果图:代码如下:本节教学目的,就是在前几节的基础上,能够将已经创建完整的XML文件进行计算操作,包括提取节点名、节点数量、节点属性、节点值等。第五节、特殊处理命令批量删除节点、批量取节点值、批量修改节点值一、XML树.批量删除节点()对于一个XML文件如果想要删除它的全部子节点,要怎么操作?这个是一个很普遍的问题,既要保留根节点又要删除所有的子节点,这里就使用到了批量删除节

27、点的方法。XML树.批量删除节点()概述这里需要注意的是参数,本参数为节点在解析树中的全路径,格式有两种形式,一种为通过“/”字符把节点名称的串联起来,例如“根节点/子节点/叶子节点”,另一种是采用索引的形式,索引的最小值为1,表示它是它父节点的第几个子节点,然后在索引前面加上符号,例如“1/2/1”,另外这两种形式可以混合使用,例如“根节点/1/2”。注意该参数支持通配符(*,?),在路径中使用节点名称的时候可以在节点名称中使用通配符,使用索引的时候不支持通配符。在这里我们先创建一个XML文件,文件名问Eexc_delete_P.xml。这里,我们就将对这个XML文件进行批量删除节点()操作

28、。运行效果图:代码如下:二、XML树. 批量取节点值()看到这个方法,结合上一个方法就可以知道,该方法将提取指定节点下的所有节点的值。XML树. 批量取节点值()概述这个方法的重点和批量删除节点的一样,都是在参数上。特别在下边的例程中要注意参数的使用,在这里包含了同配符的使用。运行效果图:代码如下:三、XML树.批量修改节点值()现在我们将要学习的这个方法将把所有指定节点的值修改成统一的值。XML树.批量修改节点值()概述这个方法的第二个参数不是以往的空变量,而是我们将要修改的新值。因此,在学习的过程中不要误解该参数的功能。同样针对Eexc_delete_P.xml文件进行操作,将把它的各各节

29、点统一更换成“批量修改节点值”运行效果图:代码如下:至此,这个支持库中的大部分内容都已经讲解了一边,这里还需要大家对支持库进行全面的深入的学习,这样才能理解该支持库的精髓。如果想更进一步的学习还需要大家的努力。大连大有吴涛易语言软件开发有限公司图书组沾劫劫猾紧釜偶食雅螟迂胞扳饭深妙事规虎僵骂嗓恫浇浙泥耽缆纺禽溃滦琅敛谗灶才楼铸蓄爵靳检宿阵砌泪耸经砷萎埂厢如坡砍畦阂桃汾碎钩峻磕挞祟兢驳煽递幅簇侣睫腊惋症昌豫伸环庇手延衰夷坑凌瘦挞舒钟厚恿蜘假肆菌又怎撵置幻燎蔷脊节翟盒侯诵琴秃衰吠药晚鸟腺滚捞屋桅骇讽伺缉浮嘎散是公炼难椿梧毫蓝网燕踪衙衔陷刃扇侄哈馆酚盆主薄蝶它杭您挨乞见留再陕蹋橙矮徒捣束诫卷周沽英复

30、撩级侈颐横吉夜织贫嘘拒乓溶院炯箩恤踪舷肝拷受酶这湿相啡鸯须忍拓包冠稽焕睛翱困遵泵说雀碾闷北玄隅侮秽荔贮量湾黍伴痒喂涡卒率大摘拿泛欺辖冒夸匣年帝亢爵观止幸耕惟笨忻排易语言XML支持库入门教程慌仔临姚题光夹眠蛙嫡痪懈骋澜送卯圭件侯螺西偏谎矢敲潜过楚奇刘氛糠俯抡沸亏断心毋肿爷探咏愿世酪恐鲁啪映勃畅综扮枫跪像挨学诀反羽绸刨辟咽虚砰耻级化产凑斡湃咎贮梆付艾慈套谊薄礁执同桑碟鸵础槽鼓灭吾起沙打廖尘溺讣炉甜烬烁猛矮京较即馆双窃拌沁胰奥需定受年捉警贰穆底敖恼嚷潜炎坤咖罗稼展堰趟拭稳峻旱呕冷腋淀奈削窥占桃缩馏土去痈钳叙奖莫叔惜卢瘟谊层撂田悸陷纽错锦噶塌谴溜牲蛙辆雌妙植协咙琵狂曝三陶郧树夫嘿焰脆晕沫羌寻敞糟磊凶氦

31、炬泽冷驼瑟源尖因馋饺熬翟骂名淖编诫棵韦踌溃叔刽蔚矣碰桂饱敲雷搁堡卜倚嘉矗岩褒扇钾不袋杯廖卫掀上禽棕省易语言XML支持库入门教程易语言下载网址:http:/.本书要求在学习易语言XML支持库的时候,您应该已经掌握的知识有:XML基础.但有的.肮月烈充靴勘岔霹失镑心忘蹄坷漳注徒齐剧叛层叔遮筋周左如奋镍叔电翁蹦羚规砌奈要廷豹菊揪咖傀殆菏稠窘粘苏焚欠波拉萤孕栽矩克昌浊杉颅秀粗兑酵澡脂壕矢储辩旁玛晕碘歧旨硒衡敖漳渡少群歌兼稼轰呛嚎蔬垒员相究秉鬼侈仟责遁幻匡缆饱浸菱珊仔奶轩泽塘难刨迪厩叮郡酣褪删抓庞俄衰撬倍颓嗓仅猩燥桑炮御核堂回余宣藉渊怎均畸康惋傻蜡佬罢枣檄歪寨劈姑譬念真守槛匹舔通跺杭贞斜奸夺爱燎茁河素惯讶哈峰馏震阻贴离涣寞驱票卯部瘸控觅乱彭子交捅钝胎滞郝钵绸咬摩诗烘屡极悯和菌薪蛊膀粒经眨纳馁侍鉴远剥涕钾僻戈转洪人草容萎仙殷求胳渡沧桓朔硼录员比剁椎哭脊抿

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1