XML 从入门到精通(一)XML基础


一 XML 简介

(一)什么是 XML?

    指可扩展标记语言(EXtensibleMarkup Language),

    是一种标记语言,很类似HTML

    设计宗旨:传输数据,而非显示数据

    标签没有被预定义,需要自行定义标签。

    被设计为具有自我描述性。

    是 W3C 的推荐标准

 

(二)XML 与 HTML 的主要差异

XML 不是 HTML 的替代,而是对 HTML 的补充;XML 和 HTML 为不同的目的而设计:

XML 被设计为传输和存储数据,焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据的外观。

HTML 旨在显示信息,而 XML 旨在传输信息。

 

(三)XML 的用途

应用于 web 开发的许多方面,常用于简化数据的存储和共享。

XML 把数据从 HTML 分离

简化数据共享;xml数据以纯文本格式进行储存,提供了一种独立于让软件和硬件的数据存储方法。

简化数据传输,在不兼容的系统之间轻松交换数据。

简化平台的变更

使数据更有用,独立于硬件、软件、应用程序。

用于创建新的Internet语言

用作配置文件

(四)XML 树结构

    XML 文档形成了一种树结构,从“根部”开始,扩展到“枝叶”。XML 文档有且仅有一个根元素/父元素。XML 具有出色的自我描述性。

 

 

二 XML 文档构建模块

所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:

元素 +属性+实体+PCDATA+CDATA

下面是每个构建模块的简要描述:

(一)元素

XML 文档包含 XML 元素。元素可包含其他元素、文本、属性。

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

扩展:命名空间:避免元素命名冲突

 

(二)属性

属性(Attribute) 提供关于元素的额外(附加)信息。

属性总是被置于某元素的开始标签中,类似 HTML。属性总是以名称/值的形式成对出现的。XML 属性必须加引号:单/双。

从 HTML,你会回忆起这个:<img src="computer.gif">。"src" 属性提供有关 <img> 元素的额外信息。

在 HTML 中(以及在 XML 中),属性提供有关元素的额外信息:

<img src="computer.gif">

<ahref="demo.asp">

注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:

<gangstername='George "Shotgun" Ziegler'>

或者可以使用实体引用:

<gangstername="George &quot;Shotgun&quot; Ziegler">

 

小技巧: HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。避免 XML 属性?因使用属性而引起的一些问题:

属性无法包含多重的值(元素可以)

属性无法描述树结构(元素可以)

属性不易扩展(为未来的变化)

属性难以阅读和维护

    请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。

(三)实体

实体是用来定义普通文本的变量。实体引用是对实体的引用。

实体引用特殊字符被预定义

    注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。非法的 XML 字符必须被替换为实体引用(entity reference)。

  

所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。

(四)PCDATA

PCDATA :被解析的字符数据(parsed character data)。

PCDATA 是会被解析器解析的文本。文本中的标签会被当作标记来处理,而实体会被展开。不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &amp;、&lt; 以及 &gt; 实体来分别替换它们。

(五)CDATA

CDATA :字符数据(character data)。

CDATA 是不会被解析器解析的文本在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。

CDATA 部分由 "<![CDATA["开始,由 "]]>" 结束

关于 CDATA 部分的注释:

CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。

标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。

 

三 XML 验证

形式良好的文档与合法文档之间的差异,以及如何规定 XML 文档的结构。

形式/结构良好的XML:拥有正确语法规则

合法的 XML:通过 DTD 验证的(此项内容将在以后的文章中做专项介绍) 

(一)语法规则:

XML 文档必须有根元素

XML 文档必须有关闭标签

XML 标签对大小写敏感

XML 元素必须被正确的嵌套

XML 属性必须加引号:双/单

验证 XML 文档 

(四)注释

在 XML 中编写注释的语法与 HTML 的语法很相似:

<!-- This isa comment -->

HTML:把多个连续的空格字符裁减(合并)为一个

XML:文档中的空格会被保留,不会被删节。

 

 


评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值