初识 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基本语法

  1. xml文档的后缀名.xml
  2. xml第一行必须定义为文档声明
  3. xml文档中有且仅有一个根标签
  4. 属性值必须使用引号(单、双)引起来
  5. 标签必须正确关闭
  6. xml标签名称区分大小写

3.2 xml文档结构

  1. 文档声明

    • 格式:
    <?xml 属性列表 ?>
    
    • 属性列表:

    • version:版本号,必须的属性

    • encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1

    • standalone:是否独立
      1. yes:不依赖其他文件
      2. no:依赖其他文件
      2. 指令(结合css)

      <?xml-stylesheet type="text/css" href="a.css" ?>
      
  2. 标签命名规范(标签名称自定义)

    • 名称可以包含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字母 xml(如XML、Xml 等)开始
    • 名称不能包含空格
  3. 属性:id属性值唯一

  4. 文本

    • CDATA区:在该区域中的数据会被原样展示

    • 格式:

      <![CDATA[ 数据 ]]>
      

3.3 约束

规定xml文档的书写规则

  • 作为框架的使用者(程序员):

    1. 能够在xml中引入约束文档
    2. 能够简单的读懂约束文档
  • 分类:

    1. DTD:一种简单的约束技术。引入dtd文档到xml文档中。
      • 内部dtd:将约束规则定义在xml文档中
      • 外部dtd:将约束的规则定义在外部的dtd文件中
        • 本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
        • 网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">
    2. Schema:一种复杂的约束技术。引入:
      1. 填写xml文档的根元素
      2. 引入xsi前缀. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      3. 引入xsd文件命名空间. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
      4. 为每一个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">
    


四、基本实例

这个实例,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> 
————END————
posted @ 2020-06-19 19:20  LANGKYE#  阅读(70)  评论(0)    收藏  举报