XML
一、XML是什么
- XML 指可扩展标记语言(EXtensible Markup Language)。
- XML 的设计宗旨是传输数据,而非显示数据。其焦点是数据的内容。
XML 是不作为的。XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。它仅仅是纯文本而已。
- XML 标签需要自行定义。
通过 XML 您可以发明自己的标签,因为 XML 没有预定义的标签。XML 允许创作者定义自己的标签和自己的文档结构。
4.XML 文档形成一种树结构,它从“根部”开始,然后扩展到“枝叶”。
XML 声明,根元素,子元素,兄弟元素。所有元素均可拥有文本内容和属性。
XML 与 HTML 的主要差异:
XML 不是 HTML 的替代。XML 是对 HTML 的补充。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
XML组成:
声明;
元素。XML 元素可以在开始标签中包含属性,属性提供有关元素的额外信息。
XML 语法规则:
- 必须有关闭标签;注意:声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。
- XML 标签对大小写敏感;
- XML 必须正确地嵌套;
- 必须有一个元素是所有其他元素的父元素。该元素称为根元素;
- XML 的属性值须加引号,如果属性值本身包含双引号,那么有必要使用单引号包围它,或者可以使用实体引用。
避免 XML 属性,因使用属性而引起的一些问题:
-
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
6.实体引用;
7.XML 中的注释:
8.空格会被保留,HTML 会把多个连续的空格字符裁减(合并)为一个;
8.XML 元素命名规则:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
最佳命名习惯:
使名称具有描述性。使用下划线的名称也很不错。
名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。
避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。
XML 验证
拥有正确语法的 XML 被称为“形式良好”的 XML。
通过 DTD 验证的 XML 是“合法”的 XML。
验证 XML 文档:
DTD 的作用是定义 XML 文档的结构。
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema。
XML 文档中的错误会终止你的 XML 程序。
XML 命名空间
---提供避免元素命名冲突的方法。
命名冲突:在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。
------使用前缀来避免命名冲突:
------使用命名空间(Namespaces):前缀与ns结合使用,为前缀赋予了一个与某个命名空间相关联的限定名称。命名空间属性被放置于元素的开始标签之中,所有带有相同前缀的子元素都会与同一个命名空间相关联。
-----默认的命名空间(Default Namespaces):可以省去在所有的子元素中使用前缀的工作。
二、XML的解析
??为什么多个xmlns??