初识 XML
一、XML的概念
XML (Extensible Markup Language),指可扩展标记语言。
可扩展标记语言极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。
XML的简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其他的数据交换格式,但不久之后它们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS、Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。
XML有两个先驱:SGML和HTML,这两个语言都是非常成功的标记语言,但是都有一些与生俱来的缺陷。XML正是为了解决它们的不足而诞生的。
-
可扩展:标签都是自定义的。用户可以根据实际的数据结构来创建xml标签、设置标签的属性和标签的文本值。如,学生信息标签
<student>...</student>、订单信息<order>...</order>等。 -
创建的组织:W3C。
二、XML的用途
XML被设计用来传输和存储数据。XML的设计宗旨是传输数据,而不是显示数据。XML 应用于 Web 开发的许多方面,常用于简化数据的存储和共享。
2.1 XML 简化数据共享
在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。XML 数据以纯文本格式进行存储,提供了一种独立于软件和硬件的数据存储方法。这让创建不同应用程序可以共享的数据变得更加容易。
2.2 XML 简化平台变更
升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据经常会丢失。
XML 数据以文本格式存储。这使得 XML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新的应用程序或新的浏览器。
2.3 XML 多设备数据交互
不同的应用程序都能够访问您的数据,不仅仅在 HTML 页中,也可以从 XML 数据源中进行访问。
通过 XML,您的数据可供各种阅读设备使用(掌上计算机、语音设备、新闻阅读器等),还可以供盲人或其他残障人士使用。
三、XML语法结构
3.1 xml基本语法
- xml文档的后缀名.xml
- xml第一行必须定义为文档声明
- xml文档中有且仅有一个根标签
- 属性值必须使用引号(单、双)引起来
- 标签必须正确关闭
- xml标签名称区分大小写
3.2 xml文档结构
-
文档声明
- 格式:
<?xml 属性列表 ?>-
属性列表:
-
version:版本号,必须的属性
-
encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
-
standalone:是否独立
1. yes:不依赖其他文件
2. no:依赖其他文件
2. 指令(结合css)<?xml-stylesheet type="text/css" href="a.css" ?>
-
标签命名规范(标签名称自定义)
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(如XML、Xml 等)开始
- 名称不能包含空格
-
属性:id属性值唯一
-
文本
-
CDATA区:在该区域中的数据会被原样展示
-
格式:
<![CDATA[ 数据 ]]>
-
3.3 约束
规定xml文档的书写规则
-
作为框架的使用者(程序员):
- 能够在xml中引入约束文档
- 能够简单的读懂约束文档
-
分类:
- DTD:一种简单的约束技术。引入dtd文档到xml文档中。
- 内部dtd:将约束规则定义在xml文档中
- 外部dtd:将约束的规则定义在外部的dtd文件中
- 本地:
<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置"> - 网络:
<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">
- 本地:
- Schema:一种复杂的约束技术。引入:
- 填写xml文档的根元素
- 引入xsi前缀. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- 引入xsd文件命名空间. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
- 为每一个xsd约束声明一个前缀,作为标识 xmlns="http://www.itcast.cn/xml"
<students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.itcast.cn/xml" xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"> - DTD:一种简单的约束技术。引入dtd文档到xml文档中。
四、基本实例
这个实例,XML 文档包含了一张 Jani 写给 Tove 的便签。
<!-- 第一行:XML 声明。它定义 XML 的版本(1.0)和所使用的编码(ISO-8859-1 = Latin-1/西欧字符集)。 -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 第二行:文档的根元素(描述:"本文档是一个便签"): -->
<note>
<!-- 以下4行描述根的 4 个子元素(to, from, heading 以及 body): -->
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<!-- 最后一行:定义根元素的结尾 -->
</note>

浙公网安备 33010602011771号