《易语言XML支持库入门教程》

上传人:无*** 文档编号:158260163 上传时间:2022-10-03 格式:DOC 页数:23 大小:341KB
收藏 版权申诉 举报 下载
《易语言XML支持库入门教程》_第1页
第1页 / 共23页
《易语言XML支持库入门教程》_第2页
第2页 / 共23页
《易语言XML支持库入门教程》_第3页
第3页 / 共23页
资源描述:

《《易语言XML支持库入门教程》》由会员分享,可在线阅读,更多相关《《易语言XML支持库入门教程》(23页珍藏版)》请在装配图网上搜索。

1、大连大有吴涛易语言软件开发有限公司 版权所有易语言XML支持库入门教程易语言下载网址:目录目录1XML发展历程2一标记的由来2二标记语言的由来2三可扩展标记语言XML3四XML的基本格式3作业:4第一节、关于XML支持库的简介及功能分类4一易语言XML支持库所能实现的功能4二易语言XML支持库按功能分类4第二节、创建类命令(一)5一、XML树.创建()5二、XML树.导出到文件()6三、XML树.释放()7四、XML树.导入()7第三节、创建类命令(二)8一、XML树.插入节点()9二、XML树. 插入属性()10三、XML树. 修改节点名()、XML树.修改节点值()10四、XML树.修改属

2、性名()、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树.批量修改节点值()22XML发展历程一标记的由来标记行为的本身由来已久,比如我们所熟知的对财务报表的注释、差旅费用

3、的名细等等,我们都可以把它理解为标记。标记的意思就是为某物加上记号(Marking it up),现在有很多的文本处理系统也正是基于这个原理而出现的。其中由标记引发而来的标记语言的杰出的代表之一就是xml。标记可以分为格式化标记等等。二标记语言的由来1969年由于需要处理不同系统间文档的共享问题由IBMsCharles等3位研究人员发明了一种标记语言GML。这门语言主要解决了不同系统文档的共享。然而伴随着网络应用的迅速发展HTML已经不能很好的跟上网络发展的脚步。虽然现在HTML还是网络应用的主流,但是它的局限在今天也是非常的明显。下面看一个例子,左侧表示了所要表示的两个人员的联系方式信息,右

4、侧是用HTML语言进行的描述。如下图所示: 上图显示了员工的具体信息,如代号、电话等。通过这个例子大家可以体会它的不足。比如不能很好的理解“TOM”的含义等等。HTML的局限:Html只支持简单的段落,不支持自定义数据的层次。Html要求文档过于完整。这也是它结构本身的要求所至。Html无法真正进行数据交换。Html不可以重用。等等。在这个大的背景下XML(可扩展标记语言)应运而生。XML也可以看作是GML的优化,它是一种元语言,可以用来描述其他语言。由于XML是基于文本格式的,开发者可以很容易在不同的程序中对它的数据进行交换。面对无限的发展空间,XML也被业界赋予了更高的评价和期待从未来十大

5、主流技术中的排名就可以看出。XML以它的信息共享、数据传输、数据的重用、分离数据和表示、可扩展性、文档包含语义等一系列的优势而很快的得到了业界的认可。也正式基于上述情况,易语言公司也对这样的技术提供了XML解析支持库的支持。三可扩展标记语言XML从上述种种我们可以明显的看到通过XML的标记表示数据的逻辑结构,这样就保持了数据库的一些相关特性,包括数据查询等,而且很容易进行相应的程序开发。然后通过程序把逻辑处理后的XML转化为相应显示风格的HTML。本书要求在学习易语言XML支持库的时候,您应该已经掌握的知识有:XML基础。但有的读者可能第一次接触到XML,因此在这里还是给大家简单介绍一下。实际

6、上,只要你会一些HTML语言的基础,学这个是非常容易的,而且如果你掌握了XML语言的手写知识,那么使用易语言的XML解析支持库也将是轻而易举。注意:本读物中没有特别注释的例程将沿用前一个例程;四XML的基本格式XML文档由:声明,根节点、子节点、节点属性、节点值组成。其中声明基本是固定的,如果改变将不能正确显示,根节点是必须而且是唯一的。如下表所示:l l l l 值l l l l XML构成: 声明 根节点 子节点 节点属性 节点值下面给出一个实际的XML文档例子以说明: - 姓名 ID 性别 上面的例子中,第一行是声明项,一般不要改变这个内容,其中的GB2312表示的是字符集,也不要去改变

7、它。实际上它就是XML文件的标识。第二行与最后一行就是根节点,其中的内容就是子节点内容。子节点下面还可以再加子节点,形成孙节点。易语言的XML支持库实际的就是读写XML文档,你也可以不用支持库,直接用手工去写一个文本。作业:手工写一个XML文档,描述你身边的人或同事,或某些事物。第一节、关于XML支持库的简介及功能分类一易语言XML支持库所能实现的功能伴随着网络应用的迅速发展HTML(超文本标记语言)已经不能很好的跟上网络发展的脚步。因此,在这个大的背景下XML(可扩展标记语言)应运而生。面对无限的发展空间,XML也被业界赋予了更高的评价和期待从未来十大主流技术中的排名就可以看出。虽然以上种种

8、大都是业界一些主观的评论,但是从目前的实际应用情况来看,也是可以左证XML技术将拥有美好的前景的。与此同时,大有吴涛易语言软件开发有限公司秉承自己一贯优良的发展理念编程语言民族化、民族语言简单化、简单语言实用化,同时也为了让更多的编程爱好者能更快的学习新的开发理念、掌握新的开发技术,为大家提供更宽广的开发环境从而迅速将这样一门优秀的技术容入到易语言中,因此也就形成了我们今天所要讲解的XML支持库。在易语言提供的该XML支持库中,将以针对XML文件的操作为主线来展开的。因此,可以想象的到,该支持库主要功能是如何创建XML文件、如何使XML文件的节点中有属性、如何取出数据等等。易语言的XML支持库

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

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

11、bj_xml的XML树对象。代码实现如下:当我们完成声明后,我们就可以使用所有XML树对象中的所有方法,也可以理解为XML支持库中的所有方法了一、XML树.创建()首先我们去创建一个.XML文件,这里我们就使用到了XML树的创建()方法。代码实现如下:XML树.创建()概述:该方法将在系统内存中按要求添加一个指定根节点的且只包含一个节点的XML树,并且该XML树只抽象存在于内存中,并没有生成对应的物理实现。在本例程中将在内存中创建了一个根节点为“易XML文件”的XML文件。二、XML树.导出到文件()如果想要将上述内存中的XML树对象obj_xml实际的显示出来并形成文件还需要配合XML树.导

12、出到文件()XML树.导出到文件()概述:使用该方法可以将已经创建于内存中的XML树以.xml的形式保存成XML文件。在我们这个例程中,我们将要求在创建了XML文件的同时,还需要将该文件显示在编辑框中。运行效果如图:(程序的部分截图)具体的代码实现如下:可以通过该代码段知道,将在本程序的运行目录下创建一个名为Eexc.xml的文件。三、XML树.释放()程序编写到这里,如果细心的用户可能会发现XML树.创建()是将XML树创建在内存当中,如果每次调试的时候忘记消除它,那么它将在内存中占据很大的资源。这样做的后果对系统的维护是十分的不利,因此每当创建完毕要退出程序的时候就需要释放XML树所占据的

13、内存空间,这就使用到我们这里提到的XML树.释放()方法。XML树.释放()概述:该方法将内存中的已经创建的XML树释放。因为是对内存进行操作,因此并没有非常直观的显示出来具体的实现过程。代码实现如下:四、XML树.导入()上述所讲解的3个方法主要是教大家通过代码动态的创建一个XML文件,如果大家想要打开一个已经存在的XML文件,就需要去使用XML树对象的另一个方法XML树.导入()方法。XML树.导入()概述:通过该方法,直接调用一个已经存在的XML文件。但是需要注意的是,该方法也仅仅是在内存中按照该XML文件的具体结构创建了一个相对应的XML树。因此,该方法和XML树.创建()方法是一个工

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

15、白如何使用易语言的XML支持库去创建一个简单的XML文件。但是仅仅掌握这些知识是不够的,毕竟XML本身就拥有一个很复杂的结构。如果想创建一个比较完整的XML文件还需要大家掌握添加属性、给属性添加值、添加子节点等等知识点。想要达到这个目标,就需要大家继续学习。一、XML树.插入节点()既然每个XML文件有一个根节点,那么就可以想象的出它本身应该有子节点。只是,子节点是可以无限的多而不是唯一。在XML文件中子节点可以无限扩展,既可以拥有若干的子节点,同时子节点也可以拥有若干的“同辈”子节点,他们可以统一的成为根节点的子节点,同时又是它们自身下的所有子节点的父节点。在第一节中,我们已经创建了一个Ee

16、xc.xml文件,但是它是只有一个根节点的XML文件。如果我们想让它拥有一个名为“第一个节点”的子节点,那么我们将使用到XML树.插入节点()方法。XML树.插入节点()概述:对指定的节点进行操作,在它的下级创建一个子节点,此时被指定的节点就成为该子节点的父节点。同样,我们针对Eexc.xml文件进行操作,在它的根节点下添加一个名为“第一层子节点”的子节点运行效果图:通过这幅图片大家应该看到,在和之间多了的这个子节点,这个效果就是通过XML树.插入节点()这个方法实现的。代码如下:通过这个命令的学习,大家应该作到如何进行多个子节点的添加。二、XML树. 插入属性()了解XML的朋友都知道,XM

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

18、()根据所提供的方法名称就可以知道我们可以根据提供的方法去修改已经创建的节点名称和节点的值。XML树.修改节点名()、XML树.修改节点值()概述XML树.修改节点名()该方法会修改指定节点的名称XML树.修改节点值()该方法将修改指定节点的值这里我们继续对Eexc.xml操作,将它的字节点考虑如何添加多层子节点修改为考虑如何添加多层子节点。具体的代码实现为:运行效果图为:这个效果图与以前的Eexc.xml的区别就是将字节点换成了。同样的道理,我们现在要将节点一的值“考虑如何添加多层子节点”换成“姓名”,将采用同样的操作手法,但是需要使用的命令就是前边介绍的XML树.修改节点值()。实现如下:

19、运行效果图:四、XML树.修改属性名()、XML树.修改属性值()XML节点拥有自定义的属性,这个也是和HTML的区别之一。这两个方法将让我们对XML节点的属性进行修改。XML树.修改属性名()、XML树.修改属性值()概述XML树.修改属性名()修改指定节点属性名称XML树.修改属性值()修改指定节点属性的值我们知道,现在的Eexc.xml文件中的节点一的属性是备注,现在我们就将这个“备注”属性进行修改成“用户属性”属性。代码如下:运行效果截图:同样对用户属性的值进行更改,我们需要使用XML树.修改属性值()代码如下:运行效果图:五、XML树.删除节点()、XML树.删除属性()在讲解这两个

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

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

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

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

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

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

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

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

28、一种为通过“/”字符把节点名称的串联起来,例如“根节点/子节点/叶子节点”,另一种是采用索引的形式,索引的最小值为1,表示它是它父节点的第几个子节点,然后在索引前面加上符号,例如“1/2/1”,另外这两种形式可以混合使用,例如“根节点/1/2”。注意该参数支持通配符(*,?),在路径中使用节点名称的时候可以在节点名称中使用通配符,使用索引的时候不支持通配符。在这里我们先创建一个XML文件,文件名问Eexc_delete_P.xml。这里,我们就将对这个XML文件进行批量删除节点()操作。运行效果图:代码如下:二、XML树. 批量取节点值()看到这个方法,结合上一个方法就可以知道,该方法将提取指

29、定节点下的所有节点的值。XML树. 批量取节点值()概述这个方法的重点和批量删除节点的一样,都是在参数上。特别在下边的例程中要注意参数的使用,在这里包含了同配符的使用。运行效果图:代码如下:三、XML树.批量修改节点值()现在我们将要学习的这个方法将把所有指定节点的值修改成统一的值。XML树.批量修改节点值()概述这个方法的第二个参数不是以往的空变量,而是我们将要修改的新值。因此,在学习的过程中不要误解该参数的功能。同样针对Eexc_delete_P.xml文件进行操作,将把它的各各节点统一更换成“批量修改节点值”运行效果图:代码如下:至此,这个支持库中的大部分内容都已经讲解了一边,这里还需要大家对支持库进行全面的深入的学习,这样才能理解该支持库的精髓。如果想更进一步的学习还需要大家的努力。大连大有吴涛易语言软件开发有限公司图书组23

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!