XML简介(学习笔记)

此文章只是本人放学习笔记。仅供参考。有不对的地方还请各位大神多多指教。
(1) XML的起源和目的web

XML是Extensible Markup Language的缩写,便可扩展标记语言。它是一种用来建立的标记的标记语言。1996年,万维网协会(或者叫W3C,http://www.w3c.org )开始设计一种可扩展的标记语言,1998年2月,XML1.0成为了W3C的推荐标准。    
   使用XML标记语言能够作到数据或数据结构在任何编程语言环境下的共享。例如咱们在某个计算机平台上用某种编程语言编写了一些数据或数据结构,而后用XML标记语言进行处理,那样的话,其余人就能够在其余的计算机平台上来访问这些数据或数据结构,甚至能够用其余的编程语言来操做这些数据或数据结构了。这就是XML标记语言做为一种数据交换语言存在的价值。

(2) 什么是XML?编程

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很相似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预约义。您须要自行定义标签。
  • XML 被设计为具备自我描述性。
  • XML 是 W3C 的推荐标准

【参考案例】
下面是 John 写给 George 的便签,存储为 XML格式数据.数据结构

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

上面的这条便签具备自我描述性。它拥有标题以及留言,同时包含了发送者和接受者的信息。
可是,这个 XML 文档仍然没有作任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。咱们须要编写软件或者程序,才能传送、接收和显示出这个文档。编程语言

(3) XML的特色svg

  • XML 仅仅是纯文本
  • 经过 XML 您能够发明本身的标签
  • XML 不是对 HTML 的替代,而是对HTML的补充。

(4) XML和HTML的区别
XML和HTML都是用于操做数据或数据结构,在结构上大体是相同的,但它们在本质上却存在着明显的区别,它们的区别主要有如下几点:学习

  • 语法要求不一样
    在HTML中不区分大小写,在XML中对大小写要求很是严格。
  • 标记不一样
    HTML使用固有的标记,而XML没有固有标记。
  • 做用不一样
    XML 被设计用来传输和存储数据。
    HTML 被设计用来显示数据。

(5) XML的优点
每种语言的产生都能完成某些特定的功能,XML做为一种标记语言也不例外。XML最大的优点在于它能对各类编程语言编写的数据进行管理,使得在任何平台下都能经过解析器来读取XML数据。它的优点可概括为如下几点:编码

  • 数据的搜索
    在XML中能够提取文档中任何位置的数据.
  • 数据的显示
    XML将数据的结构和数据的显示形式分开,根据须要使数据呈现出多种显示方式。如HTML、PDF等格式。
  • 数据的交换
    XML标记语言的语法很是简单,能够经过解析器在任何机器上解读。并能够在各类计算机平台上使用。逐渐成为一种数据交换的语言。

XML文档结构
XML 使用简单的具备自我描述性的语法:spa

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
下一行描述文档的根元素(像在说:“本文档是一个便签”):设计

<note>

接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body):code

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>

最后一行定义根元素的结尾:

</note>

从本例能够设想,该 XML 文档包含了 John 给 George 的一张便签。

(2) XML的树形结构

XML 文档必须包含根元素。该元素是全部其余元素的父元素。
XML 文档中的元素造成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
全部元素都可拥有子元素:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。
全部元素都可拥有文本内容和属性(相似 HTML 中)。

(3) 案例分析

使用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>

若是使用树形的结构图去描述XMl的方式,将会获得下面的一张图.
这里写图片描述

例子中的根元素是bookstore。文档中的全部 book 元素都被包含在 bookstore 中。
book 元素有 4 个子元素:

* <title>
* <author>
* <year>
* <price>