一 XML 简介
(一)什么是 XML?
指可扩展标记语言(EXtensibleMarkup Language),
是一种标记语言,很类似HTML
设计宗旨:传输数据,而非显示数据
被设计为具有自我描述性。
是 W3C 的推荐标准
(二)XML 与 HTML 的主要差异
XML 不是 HTML 的替代,而是对 HTML 的补充;XML 和 HTML 为不同的目的而设计:
HTML 旨在显示信息,而 XML 旨在传输信息。
(三)XML 的用途
应用于 web 开发的许多方面,常用于简化数据的存储和共享。
XML 把数据从 HTML 分离
简化数据传输,在不兼容的系统之间轻松交换数据。
简化平台的变更
使数据更有用,独立于硬件、软件、应用程序。
用于创建新的Internet语言
用作配置文件
(四)XML 树结构
XML 文档形成了一种树结构,从“根部”开始,扩展到“枝叶”。XML 文档有且仅有一个根元素/父元素。XML 具有出色的自我描述性。
二 XML 文档构建模块
所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:
元素 +属性+实体+PCDATA+CDATA
下面是每个构建模块的简要描述:
(一)元素
XML 文档包含 XML 元素。元素可包含其他元素、文本、属性。
扩展:命名空间:避免元素命名冲突
(二)属性
属性(Attribute) 提供关于元素的额外(附加)信息。
从 HTML,你会回忆起这个:<img src="computer.gif">。"src" 属性提供有关 <img> 元素的额外信息。
在 HTML 中(以及在 XML 中),属性提供有关元素的额外信息:
<img src="computer.gif">
<ahref="demo.asp">
注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:
<gangstername='George "Shotgun" Ziegler'>
或者可以使用实体引用:
<gangstername="George "Shotgun" Ziegler">
小技巧: HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。避免 XML 属性?因使用属性而引起的一些问题:
属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
(三)实体
实体是用来定义普通文本的变量。实体引用是对实体的引用。
实体引用特殊字符被预定义
注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。非法的 XML 字符必须被替换为实体引用(entity reference)。
所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
(四)PCDATA
PCDATA :被解析的字符数据(parsed character data)。
PCDATA 是会被解析器解析的文本。文本中的标签会被当作标记来处理,而实体会被展开。不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、< 以及 > 实体来分别替换它们。
(五)CDATA
CDATA :字符数据(character data)。
CDATA 部分由 "<![CDATA["开始,由 "]]>" 结束
关于 CDATA 部分的注释:
CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。
标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。
三 XML 验证
形式良好的文档与合法文档之间的差异,以及如何规定 XML 文档的结构。
形式/结构良好的XML:拥有正确语法规则
(一)语法规则:
XML 文档必须有根元素
XML 标签对大小写敏感
XML 元素必须被正确的嵌套
XML 属性必须加引号:双/单
验证 XML 文档
(四)注释
在 XML 中编写注释的语法与 HTML 的语法很相似:
<!-- This isa comment -->
原文链接:https://www.f2er.com/xml/299467.htmlHTML:把多个连续的空格字符裁减(合并)为一个
XML:文档中的空格会被保留,不会被删节。