以下都是对W3CSchool网站上的一些知识点记录,便于日后查看和理解。
一、什么是XML?
XML:Extensible Markup Language,可扩展标记语言。
XML的设计宗旨是传输数据而非显示数据。
XML便签不像HTML标签,XML标签没有被预定义,需要自行定义。
XML被设计为具有自我描述性(即一个XML 根元素应具有对象的特点,个人理解)。
XML同样是W3C推荐标准。
二、XML 与HTML 的区别
XML 和HTML 为不同的目的而设计。
XML 被设计为数据的传输和存储,重在内容。
HTML 被设计为数据的展示,重在外观。
三、XML 特点
1、XML 仅仅是纯文本,是不作为的,即XML 没有任何动作,仅用于存储和传输数据。如:
<note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
四、XML 用途
XML 用于WEB 开发的许多方面,常用于简化数据存储和共享。常见作用:
1、XML 把数据从HTML 分离。
如果需要显示动态数据,可以使用XML 存储数据信息,用HTML 专注于数据的显示,从而不会存在因数据更新而花大量时间修改HTML 的问题。通过几行JavaScript,就可以读取XML 文件,用于更新HTML 。 (后台与服务器交换数据使用XMLHttpRequest 的对象,该部分也是AJAX 的内容)
2、XML 简化数据共享。
XML 数据以纯文本格式进行数据存储,因而提供了一种独立与软件和硬件的存储方法,这使不同应用程序共享数据变得更加容易。
3、XML 简化平台的变更。
XML 是独立与软件与硬件的,因此不会出现因平台(软件或硬件)变更,导致不兼容格式数据丢失的问题。(因为XML 获得广泛应用,基本都兼容)
4、XML 使数据更有用。
即XML 数据能不仅能从HTML 访问,也能直接从XML 数据源访问。XML 数据可供各种阅读设备使用(如手持计算机、语音设备、新闻阅读器等),也可用于残障人士设备。
5、用于创建新的Internet语言。
XHTML、WSDL(web服务器描述语言)等都是用XML 创建的。
五、XML 文档结构
XML 文档结构形成一颗树,只允许有一个根节点,可有多个子节点。
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声明不是必选项,参看:https://msdn.microsoft.com/zh-cn/library/ms256048.aspx
六、XML 语法
2、XML 元素命名对大小写敏感;
3、XML 元素必选被正确嵌套;
4、XML 文档必须有一个元素是根元素(注:xml声明不是XML 元素);
5、XML 同样可用实体代替特殊符号。
七、XML 的可扩展性
XML 是可扩展的,以携带更多信息。扩展XML 文档时,程序并不会因为XML 的扩展而崩溃(扩展规则见下)。
<pre name="code" class="plain"><person> <name>wjb</name> <sex>male</sex> </person>如可扩展为:
<person> <name>wjb</name> <sex>male</sex> <hobby>riding</hobby> </person>说明:扩展的规则即是不不改变XML 文档的嵌套结构,因为XML 是基于结构来查询元素数据的。
八、XML 元素与属性
XML 元素也可定义属性,但一般建议将属性改为用元素表示,便于读取和扩展。
使用属性:
<person name="wjb"> <sex>male</sex> <hobby>riding</hobby>应尽量避免使用属性,原因:
1、属性无法包含多重值(元素可以);
2、属性无法描述树状结构(元素可以);
3、不易扩展;
4、属性难以阅读和维护。
九、XML DTD
用于定义XML 的文档结构,通常用于约束XML 文档的结构或验证XML 是否“合法”。
十、XML 使用CSS
仅是XML 文档,使用浏览器查看时,显示为源代码,因为XML 不含样式信息。使XML 数据显示具有一定样式,可使用CSS。如:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="cd_catalog.css"?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG>说明:第二行即引入了样式表,定义了该XML 文档数据的显示样式,如该样式表可为:
CATALOG { background-color: #ffffff; width: 100%; } CD { display: block; margin-bottom: 30pt; margin-left: 0; } TITLE { color: #FF0000; font-size: 20pt; } ARTIST { color: #0000FF; font-size: 20pt; } COUNTRY,PRICE,YEAR,COMPANY { display: block; color: #000000; margin-left: 20pt; }CSS 格式化XML 样式并不是常用的方法,W3C 推荐使用XSLT(格式化XML 上比CSS 更完善)。