XML语言

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

XML一、XML的自我理解XML是扩展标记语言,它可以用来传输和存储数据。还有就是XML作为配置文件,需要DTD、schema两种类型进行对其进行约束;二、XML基础知识2.1、XML定义1、XML指可扩展标记语言(EXtensibleMarkupLanguage)类似于html2、XML是用来存储和传输数据的,并非是显示数据;3、XML标签没有被预定义,需要自己自行定义标签;2.2、XML和HTML的区别XML:用来传输和存储数据的;HTML:用来显示数据;2.3、XML树结构这里的根元素是bookstorebook元素下面有四个子元素:title、author、year、price2.4、XML语法规则1、所有XML元素都须有关闭标签2、XML标签对大小写敏感bookBook是不同的两个标签3、XML标签必须正确的嵌套biThistextisboldanditalic/i/b4、XML文档必须有根元素XML文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。5、XML的属性值必须加引号(””)2.5、注释单行注释:ctrl+shift+c重复取消多行批量注释:ctrl+shift+/\取消!--大段注释……!--局部注释--……--2.6、XML元素XML元素必须遵循以下命名规则:名称可以含字母、数字以及其他的字符名称不能以数字或者标点符号开始名称不能以字符“xml”(或者XML、Xml)开始名称不能包含空格注意:xml元素的命名最好是有意义的。2.7、XML属性属性就是为元素提供一些额外的功能和特性;三、XML的使用3.1、XMl的声明?xmlversion=1.0encoding=utf-8?注意:xml的声明必须在尖括号内部加上两个问号(?)3.2、简单的XML书写格式notetoGeorge/tofromJohn/fromheadingReminder/headingbodyDon'tforgetthemeeting!/body/note注意:一个良好的XML文件,必须有一个根元素3.3、XML约束约束方式:DTD和SCHEMA3.3.1、DTD约束3.3.1.1、内部DOCTYPE声明格式:!DOCTYPE根元素[元素声明]例:?xmlversion=1.0?!DOCTYPEnote[!ELEMENTnote(to,from)!ELEMENTto(#PCDATA)!ELEMENTfrom(#PCDATA)]notetoGeorge/tofromJohn/from/note3.3.1.2、外部文档声明格式:!DOCTYPE根元素SYSTEM文件名note.xml?xmlversion=1.0?!DOCTYPEnoteSYSTEMnote.dtdnotetoGeorge/tofromJohn/from/notenote.dtd!ELEMENTnote(to,from)!ELEMENTto(#PCDATA)!ELEMENTfrom(#PCDATA)3.3.1.3、DTD构建模块1、元素toGeorge/tofromJohn/from2、属性为元素提供额外的信息3、实体toGeorge/tofromJohn/from下面的实体在XML中被预定义:实体引用字符<>&&"''4、PCDATAPCDATA的意思是被解析的字符数据(parsedcharacterdata)。5、CDATACDATA的意思是字符数据(characterdata)。CDATA是不会被解析器解析的文本。3.3.1.4、DTD元素1、声明一个元素!ELEMENT元素名称类别或者是!ELEMENT元素名称(元素内容)这种声明不常用2、空元素!ELEMENT元素名称EMPTY3、只有PCDATA的元素!ELEMENT元素名称(#PCDATA)4.带有任何内容的元素!ELEMENT元素名称ANY5、带有子元素(序列)的元素!ELEMENT元素名称(子元素名称1,子元素名称2,.....)6、声明只出现一次的元素!ELEMENT元素名称(子元素名称)7、声明最少出现一次的元素!ELEMENT元素名称(子元素名称+)8、声明出现零次或多次的元素!ELEMENT元素名称(子元素名称*)9、声明出现零次或一次的元素!ELEMENT元素名称(子元素名称?)10、声明“非.../既...”类型的内容!ELEMENTnote(to,from,header,(message|body))11、声明混合型的内容!ELEMENTnote(#PCDATA|to|from|header|message)*注释:note元素可包含出现零次或多次的PCDATA、to、from、header或者message。3.3.1.5、DTD属性1、属性声明!ATTLIST元素名称属性名称属性类型默认值2、属性类型类型描述CDATA值为字符数据(characterdata)(en1|en2|..)此值是枚举列表中的一个值ID值为唯一的idIDREF值为另外一个元素的idIDREFS值为其他id的列表NMTOKEN值为合法的XML名称NMTOKENS值为合法的XML名称的列表ENTITY值是一个实体ENTITIES值是一个实体列表NOTATION此值是符号的名称xml:值是一个预定义的XML值3、默认值的参数值值解释值属性的默认值#REQUIRED属性值是必需的#IMPLIED属性不是必需的#FIXEDvalue属性值是固定的例:!ATTLISTpersonnumberCDATA#REQUIRED3.3.1.6、DTD实体实体可在外部或内部进行声明1、内部声明的实体!ENTITY实体名称实体的值注释:一个实体由三部分构成:一个和号(&),一个实体名称,以及一个分号(;)。2、外部实体的声明!ENTITY实体名称SYSTEMURI/URLDTD中!ENTITYwriterSYSTEM!ENTITYcopyrightSYSTEM例子author&writer;©right;/author3.3.2、schema约束XMLSchema是基于XML的DTD替代者。3.3.2.1、schema简介1、XMLSchema:定义可出现在文档中的元素定义可出现在文档中的属性定义哪个元素是子元素定义子元素的次序定义子元素的数目定义元素是否为空,或者是否可包含文本定义元素和属性的数据类型定义元素和属性的默认值以及固定值2、XMLSchema是DTD的继任者我们认为XMLSchema很快会在大部分网络应用程序中取代DTD。理由如下:XMLSchema可针对未来的需求进行扩展XMLSchema更完善,功能更强大XMLSchema基于XML编写XMLSchema支持数据类型XMLSchema支持命名空间3、文件的声明DTD文件:schemaxmlns===qualifiedattributeFormDefault=qualifiedschemaXML文件:3.3.2.2、XSD元素1、Schema文档中出现的元素标记3.3.2.3、XSD属性3.3.2.4、XSD的简单实例1、简单实例12、简单实例23、简单实例33.4、XML解析技术3.4.1、解析方法1、解析方法有两种:domsax2、两者区别:dom整个xml文档放入到内存中支持增删改查sax逐行解析只支持查询3.4.2、dom解析1、步骤:1首先得创建一个类使用junit独立线程测试方法junit三要素:public没有返回值无参数2获取解析器的工厂模式3获取文档解析对象4加载xml文件5解析对象注意:查询API在API内可以查找相关的方法2、增加元素封装类回写封装类4、删除元素删除节点必须要使用父节点注意:1、判断要删除的元素是否存在;2、删除完一个元素之后,注意要自减4、修改元素5、查找元素3.4.3、sax解析3.4.4、dom4j解析1、导包先把dom4j.jar这个包给导进project中的lib目录下。然后右击选择BuildPath目录下的第一个;2、使用book.xmlDom4jDemo.java

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功