###第一章 XML 基础
##### 1.1 XML 教程
XML 指可扩展标记语言
XML 被设计用来**传输**和**存储**数据。
#####1.2 XML 简介
什么是 XML?
* XML 指可扩展标记语言(EXtensible Markup Language)
* XML 是一种标记语言,很类似 HTML
* XML 的设计宗旨是**传输数据,而非显示数据**
* XML 标签没有被预定义。您需要自行定义标签。
* XML 被设计为具有**自我描述性**。
* XML 是 W3C 的推荐标准
XML 与 HTML 的主要差异?
* XML 不是 HTML 的替代。
* XML 和 HTML 为不同的目的而设计:
* XML 被设计为传输和存储数据,其焦点是数据的内容。
* HTML 被设计用来显示数据,其焦点是数据的外观。
* HTML 旨在显示信息,而 XML 旨在传输信息。
**着重理解:**
* 没有任何行为的 XML------ XML 是不作为的。
* XML 仅仅是纯文本
* 通过 XML 您可以发明自己的标签
* XML 不是对 HTML 的替代------XML 是对 HTML 的补充。
#####1.3 XML 用途
**XML 应用于 web 开发的许多方面,常用于简化数据的存储和共享。**
**作用:**
* XML 把数据从 HTML 分离
* XML 简化数据共享
* XML 简化数据传输
* XML 简化平台的变更
* XML 使您的数据更有用
* XML 用于创建新的 Internet 语言
#####1.4 XML 树结构
**XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。**
![树结构实例](http://upload-images.jianshu.io/upload_images/2789632-c07b8f60ced726d1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
代码:
```
<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>
```
##### 1.5 XML 语法规则
* **所有 XML 元素都须有关闭标签**
**注释:**您也许已经注意到 XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。
* **XML 标签对大小写敏感**
* **XML 必须正确地嵌套**
* **XML 文档必须有根元素**
* **XML 的属性值须加引号**
* **实体引用**
![](http://upload-images.jianshu.io/upload_images/2789632-4a9ca0351eb77ba1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* **XML 中的注释**
```
<!-- This is a comment -->
```
* **在 XML 中,空格会被保留**
* **XML 以 LF 存储换行**
#####1.6 XML 元素
什么是 XML 元素?
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
XML 命名规则?
XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
**可使用任何名称,没有保留的字词。**
###XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展。
#####1.7 XML 属性
XML 元素可以在开始标签中包含属性,类似 HTML。
属性 (Attribute) 提供关于元素的额外(附加)信息。
避免 XML 属性?
因使用属性而引起的一些问题:
属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
针对元数据的 XML 属性
有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 ID 属性是一样的。
```
<messages>
<note id="501">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note id="502">
<to>John</to>
<from>George</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
```
#####1.8 XML 验证
拥有正确语法的 XML 被称为“形式良好”的 XML。
通过 DTD 验证的 XML 是“合法”的 XML。
#####1.9 使用css
```
to{background-color:red;color:black;}
```
###第二章 XML JavaScript
此章节,可参看:[Ajax教程学习笔记(W3CSchool)](http://www.jianshu.com/p/0880117cc44d)