XML

1.XML概述

1.1XML:

XML一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系

1.2XML保存数据的方法:

XML利用标签来保存数据的内容,利用标签之间的嵌套关系来保存数据之间的关系。

1.3XML的应用场景:

1.3.1利用XML跨平台的特性,用来在不同的操作系统不同的开发语言之间传输数据。如果说java是一门跨平台的语言,那XML就是跨平台的数据。

1.3.2利用XML可以保存具有关系的数据的特性,还常常被用来做为配置文件使用。,

1.4XML文件:

把XML格式的数据保存到文件中,这样的文件通常起后缀名为.XML,这样的文件就叫做XML文件,XML文件是XML数据最常见的存在形式,但是,这不是XML的唯一存在形式(在内存中或在网络中也可以存在),不要把XML狭隘的理解成XML文件。

1.5XML校验:

浏览器除了内置html解析引擎外还内置了XML解析器,利用浏览器打开XML格式的数据,就可以进行XML校验。

2.XML语法

2.1文档声明:

一个格式良好的XML必须包含也只能包含一个文档声明,并且文档声明必须出现在XML文档第一行,其前不能有其他任何内容。

2.1.1最简单的写法:其中的version代表当前XML所遵循的规范版本。

2.1.2使用encoding属性指定文档所使用的字符集编码:注意:encoding属性指定的编码集和XML真正使用的编码应该一致,如果不一致就会有乱码问题。encoding属性默认值为老外喜欢的iso8859-1

2.1.3使用standalone属性指定当前XML文档是否是一个独立文档:<?XML versiob="1,0" standalone="no" ?>,standalone默认值为yes表示是一个独立文档。注意:很多的解析器会忽略这个属性,但是学习知识要按标准去学,所以这个属性也要掌握。

2.2元素

2.2.1元素分为开始标签和结束标签,在开始标签和结束标签之间的文本称为标签体,如果一个标签即不含标签体也不包含其他标签,那这样的标签可以把开始标签和结束标签进行合并,这样的标签叫自闭标签。<a>xxxx</a>    <a/>

2.2.2一个元素可以包含若干子元素,但是要注意合理嵌套

2.2.3一个格式良好的XML文档应该具有并且只能有一个根标签,其他的标签都应该是这个标签的子孙标签.

2.2.4元素的命名规范

(1)区分大小写,<p>和<P>是两个不同的标记。

(2)不能以数字或标点符号或"_"开头。

(3)不能以XML(或XML、或Xml 等)开头。

(4)不能包含空格。

(5)名称中间不能包含冒号(:)

2.3属性

一个元素可以包含多个属性,属性的值要用单引号或双引号括起来。如果属性的之中包含双引号,就要用单引号了。

属性的命名规范,参照元素的命名规范。

2.4注释

注意:注释不能出现在文档声明之前。实验:把注释写到文档声明之前,用ie打开是没问题,但是用chrome打开是报错的。这就看出来了不同的解析器有不同的处理,我们学习的时候还是按标准去学。

注释不能嵌套注释

2.5CDATA区、转义字符

这两个都可以用来转义特殊字符。

2.5.1CDATA区

被CDATA区扩起来的内容,将会被浏览器当作文本来处理。

2.5.2转义字符

& --> &amp

< --&lt

> --> &gt

" --> &quot

' --> &apos

2.5.3CDATA区和转义字符的区别

(1)CDATA区可以成段的进行转义,而转义字符一次只能转义一个字符

(2)CDATA区转义的字符可以保存数据本来的格式只是通知解析器按文本去处理。转义字符改变了数据本身的内容,利用其他字符替代了转义字符。请思考,如果要转义的内容是一段js程序的话,如果用转义字符合适不合适?

2.6处理指令:一段指令通知解析器以何种方式解析XML

指定解析器使用1.css去渲染当前的XML数据

其实文档声明就是一个最常见的处理指令。

3.DTD技术

3.1DTD是一门XML约束技术,用来约束XML写法。

3.2如何在XML中引入一个DTD

3.2.1外部引入:dtd约束文件存在在一个外部文件中,我们在XML中引入该约束。

(1)本地文件引入:该dtd文件存在在本地硬盘中

(2)公共位置文件引入:dtd约束文件存在在一个公共网络上,我们在XML引入该约束

3.2.2在XML内部写dtd约束

在文档声明下

3.3利用dtd约束XML中的元素

3.3.1元素约束

(1)存放类型

ANY:当前声明的元素可以包含任意子元素

EMPTY:当前声明的元素不能包含任何元素

(2)存放内容:利用小括号括起来的元素的名称,用来表示该元素中可以存放哪些内容

小括号中的内容,可以有多个子元素的名称

如果用“,”分割这些子元素就表明这些子元素必须按指定的顺序出现

如果用“|”分割这些内容就表明这些子元素只能出现其中之一

使用“+”来表明内容可以出现一次或多次

使用“*”来表明内容可以出现零次或多次

使用“?”来表明内容可以出现零次或一次

#PCDATA表明该元素可以包含标签体

可以利用()进行组操作:

3.4利用dtd约束XML中的属性

3.4.1属性类型

(1)CDATA:表明该属性的值是一个普通的文本值。

(2)ENUMERATED:表明该属性的值只能取指定范围内的其中之一

(3)ID:表明该属性值在整个文档中必须唯一,注意ID类型的属性的值必须以字母下划线开头,并且不能以数字开头,不能包含空白字符

3.4.2属性约束

(1)#REQUIRED 来表明当前这个属性是必须存在的属性

(2)#IMPLIED 来表明当前这个属性是可选的属性

(3)#FIXED "固定值" 来表明当前这个属性具有一个默认的值,可以不明确指定该属性,解析器会帮你加上,如果你硬是指定了一个其他的值,会出错。

(4)"默认值" 来表明当前属性具有一个默认的值,如果给这个属性指定一个值就用指定的值,如果不指定呢,就使用默认值。

3.5实体:

可以理解为对一段内容的引用,如果有一段内容到处在被使用,可以将其设计为一个实体

3.5.1引用实体:用在XML中的实体

声明实体:

引用引用实体:&实体名称;

3.5.2参数实体:用在DTD文件中的实体

声明实体:

引用参数实体: %实体名称;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 经过两天的奋战,终于把xml简略的过了一遍。 1.1XML介绍 xml是Extensible Markup lan...
    Ystrator阅读 809评论 0 2
  • 1. XML简介 以下内容来自于http://www.w3school.com.cn/xml 基本知识 XML 和...
    WebSSO阅读 1,907评论 1 7
  • 1. XML总结 1.1. XML简介 XML : 可扩展的标记语言。(和HTML非常类似的) 可扩展的。 自定义...
    Ethan_Walker阅读 3,001评论 0 12
  • 一、概述 XML是一种通用的数据交换格式 许多系统配置文件(记录应用程序的配置信息) JSP文档逐步向XML语法格...
    天涯笑笑生阅读 495评论 0 2