XML基础知识汇总
1.定义
-- xml: eXtensible Markup Language可扩展标记语言,用来传输和存储数据
-- xml是独立于软件和硬件的信息传输工具,数据以纯文本格式进行存储
2.知识点
-- xml和html区别
xml用来传输和存储数据,焦点是数据的内容,旨在传输信息;xml标签没有被预定义,需自行定义
html用来显示数据,焦点是数据的外观,旨在显示信息;html标签都是预定义,html文档只能使用已定义过的标签
-- xml用途
xml把数据从html上分离,当需要更新网页的数据内容时,可使用几行javascript代码读取xml文件
xml能让各种不兼容应用程序/升级操作系统,应用程序,浏览器可共享数据
-- xml验证
拥有正确语法的 XML 被称为"形式良好"的 XML
通过 DTD 验证的XML是"合法"的 XML(<!DOCTYPE note SYSTEM "Note.dtd"> 该声明是对外部DTD文件的引用)
DTD 的目的是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema
xml验证器对xml文件进行语法检查,XML 错误会终止您的程序
-- 查看xml文件
选择"查看页面源代码"或从浏览器菜单"查看源文件"
如果一个错误的XML文件被打开,浏览器会报告错误
XML 文档不会携带有关如何显示数据的信息
在没有任何有关如何显示数据的信息的情况下,大多数的浏览器都会仅仅把 XML 文档显示为源代码
-- 使用css显示xml
通过使用 CSS(Cascading Style Sheets 层叠样式表),您可以添加显示信息到 XML 文档中
-- 使用 XSLT 显示 XML
使用 XSLT,您可以把 XML 文档转换成 HTML 格式
XSLT 是首选的 XML 样式表语言
XSLT(eXtensible Stylesheet Language Transformations)远比 CSS 更加完善
XSLT 是在浏览器显示 XML 文件之前,先把它转换为 HTML
使用 XSLT 来转换 XML 时,不同的浏览器可能会产生不同结果。为了减少这种问题,可以在服务器上进行 XSLT 转换
-- xml http request
XMLHttpRequest 对象用于在后台与服务器交换数据
该对象在不重新加载页面的情况下更新网页
该对象在页面已加载后从服务器发送请求数据,接收xml数据
所有现代浏览器(IE7+、Firefox、Chrome、Safari 和 Opera)都有内建的 XMLHttpRequest 对象
-- XML Parser
所有现代浏览器都有内建的 XML 解析器
XML 解析器把 XML 文档转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象
-- XML DOM
DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法
XML DOM(XML Document Object Model)定义了访问和操作 XML 文档的标准方法
XML DOM 把 XML 文档作为树结构来查看,所有的元素都可以通过DOM树来访问
即使 XML 文件只包含一个 <to> 元素,您仍然必须指定数组索引 [0]。这是因为 getElementsByTagName() 方法返回一个数组
-- HTML DOM
HTML DOM 定义了访问和操作 HTML 文档的标准方法
所有 HTML 元素可以通过 HTML DOM 来访问
-- 在 HTML 页面中显示 XML 数据
3.xml元素
-- XML 文档形成了一种树结构,它从"根部"(根元素)开始,然后扩展到"枝叶"(子元素)。
-- 必须包含根元素,为所有其他元素的父元素
-- 父元素拥有子元素,相同层级上的子元素为同胞/兄弟/姐妹
-- 所有元素都可以有文本内容和属性
-- DOM通过解析XML文档在逻辑上建立一个树模型,树上的一切都是节点
-- 所有xml元素都必须有关闭标签
-- xml标签对大小写敏感,标签 <Letter> 与标签 <letter> 是不同的,必须使用相同的大小写来编写打开标签和关闭标签
-- xml必须正确嵌套
<b><i>This text is bold and italic</i></b>
由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭
-- xml属性值必须加引号
<note date="12/11/2007">
属性值用双引号 " 或单引号 ' 分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔
-- 实体引用,属性值不能包括 <,>,&,如果一定要包含,也要使用实体
-- xml注释,<!-- This is a comment -->
-- XML 中,文档中的空格不会被删减,HTML 会把多个连续的空格字符裁减(合并)为一个
-- XML 以 LF 存储换行
-- xml元素命名规则
包含字母,数字以及其他字符;不能以数字或标点符号开始;不能以xml/XML/Xml开始;不能包含空格
使名称具有描述性。使用下划线的名称也很不错:<first_name>、<last_name>
避免 "-" 字符;避免 "." 字符;避免 ":" 字符
-- xml元素可扩展