您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 传智播客内部资料xml基础
—高级软件人才实作培训专家!北京传智播客教育语言方立勋—高级软件人才实作培训专家!北京传智播客教育:什么是XML什么是XML,为什么学习XML?中国北京湖南湖北海淀丰台长沙岳阳武汉荆州在现实生活中大量存在有关系的数据,如图所示。问题:这样的数据如何交给计算机处理呢?ExtensibleMarkupLanguage,翻译过来为可扩展标记语言。Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范。—高级软件人才实作培训专家!北京传智播客教育:XML技术用于解决什么问题??xmlversion=1.0encoding=UTF-8?中国北京海淀/海淀丰台/丰台/北京湖南长沙/长沙岳阳/岳阳/湖南湖北武汉/武汉荆州/荆州/湖北/中国XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。例如:—高级软件人才实作培训专家!北京传智播客教育:XML常见应用XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定•例如一个软件在启动时,它需要启动A、B两个模块,而A、B这两个模块在启动时,又分别需要A1、A2和B1、B2模块的支持,为了准确描述这种关系,此时使用XML文件最为合适不过。—高级软件人才实作培训专家!北京传智播客教育:XML语法一个XML文件分为如下几部分内容:•文档声明•元素•属性•注释•CDATA区、特殊字符•处理指令(processinginstruction)—高级软件人才实作培训专家!北京传智播客教育:XML语法-文档声明在编写XML文档时,需要先使用文档声明,声明XML文档的类型。最简单的声明语法:?xmlversion=1.0?用encoding属性说明文档的字符编码:?xmlversion=1.0encoding=GB2312?用standalone属性说明文档是否独立:?xmlversion=1.0encoding=GB2312standalone=yes?常见错误,见PPT下面的备注区—高级软件人才实作培训专家!北京传智播客教育:元素(1)XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:•包含标签体:a•不含标签体的:a/a,简写为:a/一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套,例如:awelcometob格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。—高级软件人才实作培训专家!北京传智播客教育:元素(2)对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如:下面两段内容的意义是不一样的。第一段:网址网址第二段:网址网址由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。—高级软件人才实作培训专家!北京传智播客教育:元素(3)——命名规范一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:区分大小写,例如,P和p是两个不同的标记。不能以数字或_(下划线)开头。不能以xml(或XML、或Xml等)开头。不能包含空格。名称中间不能包含冒号(:)。—高级软件人才实作培训专家!北京传智播客教育:属性一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:inputname=“text”属性值一定要用双引号()或单引号(')引起来定义属性必须遵循与标签相同的命名规范多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:inputnametext/name/input—高级软件人才实作培训专家!北京传智播客教育:注释Xml文件中的注释采用:“!--注释--”格式。注意:•XML声明之前不能有注释•注释不能嵌套,例如:!--大段注释……!--局部注释--……--—高级软件人才实作培训专家!北京传智播客教育:CDATA区在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。语法:![CDATA[内容]]![CDATA[itcastbr//itcast]]—高级软件人才实作培训专家!北京传智播客教育:转义字符对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。—高级软件人才实作培训专家!北京传智播客教育:处理指令处理指令,简称PI(processinginstruction)。处理指令用来指挥解析引擎如何解析XML文档内容。例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。?xml-stylesheettype=text/csshref=1.css?处理指令必须以“?”作为开头,以“?”作为结尾,XML声明语句就是最常见的一种处理指令。—高级软件人才实作培训专家!北京传智播客教育约束方立勋—高级软件人才实作培训专家!北京传智播客教育:XML约束概述什么是XML约束•在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。为什么需要XML约束常用的约束技术•XMLDTD•XMLSchema—高级软件人才实作培训专家!北京传智播客教育:DTD约束快束入门DTD(DocumentTypeDefinition),全称为文档类型定义。文件清单:book.xml?xmlversion=1.0?!DOCTYPE书架SYSTEMbook.dtd书架书书名Java就业培训教程/书名作者张孝祥/作者售价39.00元/售价/书书书名JavaScript网页开发/书名作者张孝祥/作者售价28.00元/售价/书/书架文件清单:book.dtd!ELEMENT书架(书+)!ELEMENT书(书名,作者,售价)!ELEMENT书名(#PCDATA)!ELEMENT作者(#PCDATA)!ELEMENT售价(#PCDATA)DTD文件应使用UTF-8或Unicode—高级软件人才实作培训专家!北京传智播客教育:编程校验XML文档正确性IE5以上浏览器内置了XML解析工具:Microsort.XMLDOM,开发人员可以编写javascript代码,利用这个解析工具装载xml文件,并对xml文件进行dtd验证。创建xml文档解析器对象varxmldoc=newActiveXObject(Microsoft.XMLDOM);开启xml校验xmldoc.validateOnParse=true;装载xml文档xmldoc.load(book.xml);获取错误信息xmldoc.parseError.reason;xmldoc.parseError.line—高级软件人才实作培训专家!北京传智播客教育:编写DTD约束的两种方式DTD约束即可以作为一个单独的文件编写,也可以在XML文件内编写。—高级软件人才实作培训专家!北京传智播客教育:在xml文件内编写DTD?xmlversion=1.0encoding=UTF-8standalone=yes?!DOCTYPE书架[!ELEMENT书架(书+)!ELEMENT书(书名,作者,售价)!ELEMENT书名(#PCDATA)!ELEMENT作者(#PCDATA)!ELEMENT售价(#PCDATA)]书架书书名Java就业培训教程/书名作者张孝祥/作者售价39.00元/售价/书.../书架—高级软件人才实作培训专家!北京传智播客教育:引用DTD约束XML文件使用DOCTYPE声明语句来指明它所遵循的DTD文件,DOCTYPE声明语句有两种形式:•当引用的文件在本地时,采用如下方式:!DOCTYPE文档根结点SYSTEMDTD文件的URL例如:!DOCTYPE书架SYSTEM“book.dtd”。在xml文件中手写一下。•当引用的文件是一个公共的文件时,采用如下方式:!DOCTYPE文档根结点PUBLICDTD名称DTD文件的URL例如:!DOCTYPEweb-appPUBLIC-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN—高级软件人才实作培训专家!北京传智播客教育:DTD约束语法细节元素定义属性定义实体定义—高级软件人才实作培训专家!北京传智播客教育:DTD的语法细节:元素定义1在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:!ELEMENT元素名称元素类型元素类型可以是元素内容、或类型•如为元素内容:则需要使用()括起来,如!ELEMENT书架(书名,作者,售价)!ELEMENT书名(#PCDATA)•如为元素类型,则直接书写,DTD规范定义了如下几种类型:•EMPTY:用于定义空元素,例如br/hr/•ANY:表示元素内容为任意类型。—高级软件人才实作培训专家!北京传智播客教育:DTD的语法细节:元素定义2元素内容中可以使用如下方式,描述内容的组成关系•用逗号分隔,表示内容的出现顺序必须与声明时一致。!ELEMENTMYFILE(TITLE,AUTHOR,EMAIL)•用|分隔,表示任选其一,即多个只能出现一个!ELEMENTMYFILE(TITLE|AUTHOR|EMAIL)在元素内容中也可以使用+、*、?等符号表示元素出现的次数:+:一次或多次(书+)?:0次或一次(书?)*:0次或多次(书*)也可使用圆括号()批量设置,例!ELEMENTMYFILE((TITLE*,AUTHOR?,EMAIL)*|COMMENT)—高级软件人才实作培训专家!北京传智播客教育:属性定义xml文档中的标签属性需通过AT
本文标题:传智播客内部资料xml基础
链接地址:https://www.777doc.com/doc-5509451 .html