一、XML导读
XML 是独立于软件和硬件的信息传输工具。XML 是 W3C 的推荐标准。XML 无所不在,当我们看到 XML 标准突飞猛进的开发进度,和大批的软件开发商采取这个标准的日新月异的速度时,真的是不由感叹这真的使人叹为观止。
目前,XML 在 Web 中起到的作用不会亚于一直作为 Web 基石的 HTML 。XML 是各种利用程序之间进行数据传输的最经常使用的工具,并且在信息存储和描写领域变得越来越流行。想要学习XML,可以通过XML.DOM教程
二、XML基本概述
XML(可扩大标记语言),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包括各种的信息比如文章等。
它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描写和交换独立于利用程序或供应商的结构化数据。是 Internet 环境中跨平台的、依赖于内容的技术,也是现今处理散布式结构信息的有效工具。早在1998年,W3C 就发布了 XML1.0 规范,使用它来简化 Internet 的文档信息传输。
三、什么是XML?
- XML 是指可扩大标记语言(EXtensible Markup Language)
- XMl 是一种标记语言,很类似 HTML (超文本标记语言)
- XML 的设计主旨是传输数据,而非显示数据
- XML 标签没有被预定义,您需要自行定义标签
- XML 被设计为具有自我描写性
- XML 是 W3C 的推荐标准
四、XML与HTML的主要差异
- XML 和 HTML 为不同的目的而设计
- XML 被设计为传输和存储数据,其焦点是数据的内容
- HTML 被设计用来显示数据,其焦点是数据的外观
- HTML 旨在显示信息,而 XML 旨在传输信息
- XML 不是对 HTML 的替换,XML 是对 HTML 的补充
- XML 不会替换 HTML,理解这一点很重要。在大多数 Web 利用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据
五、为何需要 XML
- 解决了数据传输不规范的问题
- 可以非常好的描写树形结构的事物
- 可以用作配置文件
六、没有任何行动的 XML
XML 是不作为的。或许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来结构化、存储和传输息。
我们在这里举一个在记事本书写的简单例子来讲明一下。
下面是一个书籍列表,存储为 XML:
<?xml version="1.0" encoding="gb2312"?>
<书籍列表>
<计算机书籍>
<bookname>XML利用大全</bookname>
<price>39.00</price>
</计算机书籍>
<计算机书籍>
<bookname>Java利用大全</bookname>
<price>139.00</price>
</计算机书籍>
<计算机书籍>
<bookname>Oracle利用大全</bookname>
<price>59.00</price>
</计算机书籍>
</书籍列表>
上面的这条便签具有自我描写性。它具有标题和留言,同时包括了发送者和接受者的信息。但是,这个 XML 文档依然没有做任何事情。它仅仅是包装在 XML 标签中单纯的信息。我们需要编写软件或程序,才能传送、接收和显示出这个文档。
七、XML仅仅是纯文本
XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于利用程序的特性。这里的内容我们会在以后的内容中逐步体会到 XML 标签的作用。
八、通过 XML 您可以发明自己的标签
上例中的标签没有在任何 XML 标准中定义过(比如<bookname>和<price>等等)。这些标签是由文档的创作者发明的。这是由于 XML 没有预定义的标签。XML 允许创作者定义自己的标签和自己的文档结构。
在 HTML 中使用的标签(和 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如<p>,<h1>等等)。
九、XML树结构
我们在上面的书籍实例中可以看出 XML 文档构成了一种树结构,它从“根部”开始,然后扩大到“枝叶”。
一个 XML 文档实例
XML使用简单的具有自我描写性的语法:
<?xml version="1.0" encoding="UTF⑻"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(UTF-8,GBK等);
下一行描写文档的根元素(像在说:“本文档是一个便签”):<note>;
接下来4行描写根的4个子元素(to、from、heading和body):
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>;
最后一行定义根元素的结尾:</note>。
从本例可以假想,该 XML 文档包括了John给George的一张便签。
XML 具有出色的自我描写性,你同意吗?
XML 文档构成一种树结构
XML 文档必须包括根元素。该元素是所有其他元素的父元素。
XML 文档中的元素构成了一棵文档树。这棵树从根部开始,并扩大到树的最底端。
所有元素都可具有子元素:
<root> <child> <subchild>.....</subchild> </child> </root>
父、子和同胞等术语用于描写元素之间的关系。父元素具有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。所有元素都可具有文本内容和属性(类似 HTML 中)。
实例:
上图表示下面的 XML 中的一本书:
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
例子中的根元素是<bookstore>。文档中的所有<book>元素都被包括在<bookstore>中。<book>元素有 4 个子元素:
<title>、< author>、<year>、<price>。
十、XML用处
XML 经常使用于简化数据的存储和共享
(1)XML 把数据从 HTML 分离
如果你需要在 HTML 文档中显示动态数据,那末每当数据改变时将花费大量的时间来编辑 HTML。通过 XML,数据能够存储在独立的XML 文件中。这样你就能够专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。通过使用几行JavaScript,你就能够读取一个外部 XML 文件,然后更新 HTML 中的数据内容。
(2)XML简化数据同享
在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。这让创建不同利用程序可以同享的数据变得更加容易。
(3)XML简化数据传输
通过 XML,可以在不兼容的系统之间轻松地交换数据。对开发人员来讲,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。由于可以通过各种不兼容的利用程序来读取数据,以 XML 交换数据下降了这类复杂性。
(4)XML简化平台的变更
升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据常常会丢失。XML 数据以文本格式存储。这使得 XML 在不损失数据的情况下,更容易扩大或升级到新的操作系统、新利用程序或新的浏览器。
(5)XML使您的数据更有用
由于 XML 独立于硬件、软件和利用程序,XML 使您的数据更可用,也更有用。不同的利用程序都能够访问您的数据,不单单在 HTML 页中,也能够从 XML 数据源中进行访问。通过 XML,您的数据可供各种浏览装备使用(手持的计算机、语音装备、新闻浏览器等),还可以供盲人或其他残障人士使用。
(6)XML用于创建新的Internet语言
很多新的Internet语言是通过XML创建的,其中的例子包括:
- XHTML - 最新的HTML版本
- WSDL - 用于描写可用的web service
- WAP 和 WML - 用于手持装备的标记语言
- RSS - 用于RSS feed的语言
- RDF 和 OWL - 用于描写资源和本体
- SMIL - 用于描写针针对web的多媒体
您还可以通过XML实例去实践并掌握
以及XML测验评估您的学习状况