Xml學習筆記(一)基礎篇_Xml教程
推薦:Xml學習筆記(二)Javascript篇Preface:本文是W3CSchools上《XML指南》Javascript篇的學習筆記。其中大部分內容是對指南的翻譯總結。由于原文的例子更詳盡生動,如果各位想閱讀原文可以到這個網址http://www.w3schools.com/xml/default.asp。 同時,W3CSchools提供了測試,大家可以測測自
Preface:本文是W3CSchools上《XML指南》基礎篇的學習筆記。其中大部分內容是對指南的翻譯總結。由于原文的例子更詳盡生動,如果各位想閱讀原文可以到這個網址http://www.w3schools.com/xml/default.asp。 同時,W3CSchools提供了測試,大家可以測測自己對XML的理解程度。
一、什么是XML?
Extensible Markup Language 可擴展標記語言。它具有如下的優點和特征:- 和HTML一樣是一種標記語言。
- 但XML是設計用于承載數據而非像HTML那樣是用于展示的。
- 你可以定義自己的tag(標簽)。
- XML是自描述的。
- XML是W3C標準。
二、XML應用
由于以上介紹的XML特性,目前XML被應用于以下的方面。但至于具體如何應用。那可要下回分解了。- 將數據從HTML分離出來。這樣就可以使展現(Display)和數據(Data)分離。文檔更清晰和便于維護。只需使用數行的JavaScript,就可以將數據從XML添加到HTML中。
- 作為數據共享、數據交互。純文本格式(plain text format)使XML可以方便的存儲及被各種應用讀取。同時XML的可擴展性使其可以很好的承載數據隨時作擴展。XML與平臺無關(設備、操作系統、數據庫)與應用無關,因此非常適合作數據交互。
- 作為HTML最新版的XHTML
- 描述WebService的WSDL
- 為手持設備設計的標記語言WAP和WML
- 作為新聞種子的RSS 多媒體描述語言SMIL
三、XML樹和XML語法
首先看一個XML文件:<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
第一行是一句定義聲明說明這是一個XML文件。每個XML文件以樹結構進行組織。每個標記稱為一個元素(Element)。而第一個元素又稱為根(root),它是所有其它元素的祖先。每個元素都可以有多個子元素(Child)。
針對以上的XML文件用下圖來說明XML樹的組織。
關于XML文件的編寫要遵循以下的語法規則:
- 每個XML Element都要有一個閉合標記。(可以是自閉合的)
- 大小寫敏感。
- Element要正確地嵌套。
- 包含有一個根元素(root element)
- 所有屬性(Attribute)的值必須用雙引號括住。
- 注釋是這樣寫的“<!-- 這是注釋 --> ”(不包括雙引號)。
- 空格保留。
四、XML元素(Element)和屬性(Attribute)
通過上一節已經對Element和Attribute有感性的認識了。首先深入了解一下Element:- 什么是元素?XML元素是從開始標記到結束標記之間的所有東西。(包括標記本身)一個元素包括其它的元素,或者文本內容,或者屬性。
- 元素命名規則 可以包含字母、數字和其它符號 不能以數字或標點符號開頭 不能以xml或XML、Xml等等的單詞開頭 名稱不能包含有空格。
- 元素是可擴展的 可以擴展元素以攜帶更多的信息。
- 屬性通常用來提供非數據的信息。注意一定要用雙引號括住屬性的內容。如果內容包含有雙引號那么應該用"來代替。<,>代替“<”和“>”。
- 元素和屬性的使用 并沒有規定什么數據應該放在屬性中,什么數據放在元素中。但是以下是一些比較。 屬性不能包含多值,但元素可以。 屬性不能包含樹結構,但元素可以。 屬性很難被擴展。 ID一類的數據比較適合使用屬性來保存。
五、XML校驗
我們把遵循語法規則的XML稱為“格式良好的XML”(WellFormantXML) 而能通過結構校驗的XML稱為“有效的XML”(ValidXML)。首先有效的XML肯定是格式良好的XML,同時要遵循XML結構定義規則。目前定義一個XML文件的結構規則的方法有兩種:使用DTD文件或Schema。- DTD(DocumentTypeDefinition)是用于定義XML結構的文件,以dtd為后綴。 一般我們會在XML中聲明這個外部的DTD。如:<!DOCTYPE note SYSTEM "Note.dtd"> 關于DTD的詳細使用不在此文介紹。
- XML Schema。XML Schema是另一種定義XML結構的方法。在后綴為xsd的文件中定義。
六、展示XML
如果你熟悉CSS,那么可以使用CSS對每個標記編寫樣式。然后再XML文件中添加如下的聲明<? xml-stylesheet type="text/css" href="cd_catolog.css" ?> 但是W3C的標準是使用XSLT。
XSLT是標準的XML樣式語言。保存在xsl為后綴的文件中。使用XSLT可以將XML轉換成和HTML一樣的可以展示的文檔。同樣是在XML中增加如下聲明 <? xml-stylesheet type="text/xsl" href="simple.xsl" ?>
分享:XML學習筆記(三)進階篇Preface:本文是W3CSchools上《XML指南》進階篇的學習筆記。其中大部分內容是對指南的翻譯總結。由于原文的例子更詳盡生動,如果各位想閱讀原文可以到這個網址http://www.w3schools.com/xml/default.asp。 同時,W3CSchools提供了測試,大家可以測測自己對XM
- 相關鏈接:
- 教程說明:
Xml教程-Xml學習筆記(一)基礎篇。