Fork me on GitHub

学习XML总结

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

xml包含如下:

  • 元素
  • 文本
  • 属性

元素

命名:

  • 名称可以含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字符 “xml”(或者 XML、Xml)开始
  • 名称不能包含空格

避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。
避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
避免 ":" 字符。冒号会被转换为命名空间来使用。

属性

XML 属性必须加引号

避免使用属性:因使用属性而引起的一些问题:

属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护

理念:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。

转义

非法的 XML 字符必须被替换为实体引用

实体引用 代表了 说明
&lt; < 小于 less than
&gt; > 大于 greater than
&amp; & 和号
&apos; ' 单引号
&quot; " 双引号

CDATA

所有 XML 文档中的文本均会被解析器解析。当某个 XML 元素被解析时,其标签之间的文本也会被解析。
只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

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

CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。
标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。

应用:比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。

格式

拥有正确语法的 XML 被称为“形式良好”的 XML。
通过 DTD 验证的 XML 是“合法”的 XML。

“形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:

XML 文档必须有根元素
XML 文档必须有关闭标签
XML 标签对大小写敏感
XML 元素必须被正确的嵌套
XML 属性必须加引号

合法的 XML 文档是“形式良好”的 XML 文档,同时遵守文档类型定义 (DTD) 的语法规则。DTD 的作用是定义 XML 文档的结构。

DTD 的作用是:

  • 定义在 XML 文档中什么元素、属性以及实体是合法的。
  • 通过 DTD,您的每个 XML 文件均可携带有关其自身格式的描述。
  • DTD 可用于验证您接收到的以及您自己的数据的有效性。

More:

  • DTD学习:http://www.w3school.com.cn/dtd/index.asp
  • XML Schema 是一种基于 XML 的 DTD 替代物。与 DTD 不同,XML Schema 已经开始支持数据类型,同时 XML Schema 使用 XML 语法。

如果浏览器打开了某个有错误的 XML 文件,那么它会报告错误。

编码

css美化

使用 CSS 来格式化 XML 文档是有可能的。使用 CSS 格式化 XML 不是常用的方法,更不能代表 XML 文档样式化的未来。W3C 推荐使用 XSLT。

什么是 XMLHttpRequest 对象?

XMLHttpRequest 对象用于在后台与服务器交换数据。
XMLHttpRequest 对象是开发者的梦想,因为您能够:
在不重新加载页面的情况下更新网页
在页面已加载后从服务器请求数据
在页面已加载后从服务器接收数据
在后台向服务器发送数据
所有现代的浏览器都支持 XMLHttpRequest 对象。

跨域访问

出于安全方面的原因,现代的浏览器不允许跨域的访问。

这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。W3School 的实例所打开的 XML 文件位于 W3School 的域上。

命名空间

在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

  • 使用前缀来避免命名冲突:<h:table><table>
  • 使用命名空间(Namespaces)
  • XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:
  • xmlns:namespace-prefix="namespaceURI"

统一资源标识符(Uniform Resource Identifier (URI)):是一串可以标识因特网资源的字符。最常用的 URI 是用来标示因特网域名地址的统一资源定位器(URL)。另一个不那么常用的 URI 是**统一资源命名(URN)*。在我们的例子中,我们仅使用 URL

posted @ 2015-12-15 14:31  weaming  阅读(343)  评论(0)    收藏  举报
 |  Github |  知乎 |  微博  |