以下都是对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>
如可扩展为:
说明:扩展的规则即是不不改变XML 文档的嵌套结构,因为XML 是基于结构来查询元素数据的。
- <person>
- <name>wjb</name>
- <sex>male</sex>
- <hobby>riding</hobby>
- </person>
八、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 文档数据的显示样式,如该样式表可为:
- <?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>
CSS 格式化XML 样式并不是常用的方法,W3C 推荐使用XSLT(格式化XML 上比CSS 更完善)。
- 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;
- }