XML语言.docx
- 文档编号:24173876
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:16
- 大小:371.79KB
XML语言.docx
《XML语言.docx》由会员分享,可在线阅读,更多相关《XML语言.docx(16页珍藏版)》请在冰豆网上搜索。
XML语言
XML
一、XML的自我理解
XML是扩展标记语言,它可以用来传输和存储数据。
还有就是XML作为配置文件,需要DTD、schema两种类型进行对其进行约束;
二、XML基础知识
2.1、XML定义
1、XML指可扩展标记语言(EXtensibleMarkupLanguage)类似于html
2、XML是用来存储和传输数据的,并非是显示数据;
3、XML标签没有被预定义,需要自己自行定义标签;
2.2、XML和HTML的区别
XML:
用来传输和存储数据的;
HTML:
用来显示数据;
2.3、XML树结构
这里的根元素是
title、author、year、price
2.4、XML语法规则
1、所有XML元素都须有关闭标签
2、XML标签对大小写敏感
3、XML标签必须正确的嵌套
Thistextisboldanditalic
4、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.0"encoding="utf-8"?
>
注意:
xml的声明必须在尖括号内部加上两个问号(?
)
3.2、简单的XML书写格式
注意:
一个良好的XML文件,必须有一个根元素
3.3、XML约束
约束方式:
DTD和SCHEMA
3.3.1、DTD约束
3.3.1.1、内部DOCTYPE声明
格式:
DOCTYPE根元素[元素声明]>
例:
xmlversion="1.0"?
>
DOCTYPEnote[
ELEMENTnote(to,from)>
ELEMENTto(#PCDATA)>
ELEMENTfrom(#PCDATA)>
]>
3.3.1.2、外部文档声明
格式:
DOCTYPE根元素SYSTEM"文件名">
note.xml
xmlversion="1.0"?
>
DOCTYPEnoteSYSTEM"note.dtd">
note.dtd
ELEMENTnote(to,from)>
ELEMENTto(#PCDATA)>
ELEMENTfrom(#PCDATA)>
3.3.1.3、DTD构建模块
1、元素
2、属性
为元素提供额外的信息
3、实体
下面的实体在XML中被预定义:
实体引用
字符
<
<
>
>
&
&
"
"
'
'
4、PCDATA
PCDATA的意思是被解析的字符数据(parsedcharacterdata)。
5、CDATA
CDATA的意思是字符数据(characterdata)。
CDATA是不会被解析器解析的文本。
3.3.1.4、DTD元素
1、声明一个元素
ELEMENT元素名称类别>
或者是
ELEMENT元素名称(元素内容)>这种声明不常用
2、空元素
ELEMENT元素名称EMPTY>
3、只有PCDATA的元素
ELEMENT元素名称(#PCDATA)>
4.带有任何内容的元素
ELEMENT元素名称ANY>
5、带有子元素(序列)的元素
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
值为唯一的id
IDREF
值为另外一个元素的id
IDREFS
值为其他id的列表
NMTOKEN
值为合法的XML名称
NMTOKENS
值为合法的XML名称的列表
ENTITY
值是一个实体
ENTITIES
值是一个实体列表
NOTATION
此值是符号的名称
xml:
值是一个预定义的XML值
3、默认值的参数值
值
解释
值
属性的默认值
#REQUIRED
属性值是必需的
#IMPLIED
属性不是必需的
#FIXEDvalue
属性值是固定的
例:
ATTLISTpersonnumberCDATA#REQUIRED>
3.3.1.6、DTD实体
实体可在外部或内部进行声明
1、内部声明的实体
ENTITY实体名称"实体的值">
注释:
一个实体由三部分构成:
一个和号(&),一个实体名称,以及一个分号(;)。
2、外部实体的声明
ENTITY实体名称SYSTEM"URI/URL">
DTD中
ENTITYwriterSYSTEM"
ENTITYcopyrightSYSTEM"
XML例子
3.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文件:
//www.w3.org/2001/XMLSchema" targetNamespace="http: //www." elementFormDefault="qualified" attributeFormDefault="qualified" > XML文件: 3.3.2.2、XSD元素 1、Schema文档中出现的元素标记 3.3.2.3、XSD属性 3.3.2.4、XSD的简单实例 1、简单实例1 2、简单实例2 3、简单实例3 3.4、XML解析技术 3.4.1、解析方法 1、解析方法有两种: domsax 2、两者区别: 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.xml Dom4jDemo.java
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML 语言