xml語言初識1

來源:互聯網
上載者:User

 XML裡允許你自己建立這樣的標籤,所以叫做可擴充性,所有xml語言必須經過html轉換才能在瀏覽器上運行。

XML使得在網路上使用SGML語言更加"簡單和直接": 簡化了定義檔案類型的過程,簡化了編程和處理SGML檔案的過程,簡化了在Web上的傳送和共用。

xml語言更加適合樹形結構資料

XML非常簡單,學習容易。如果你熟悉HTML,你會發現它的文檔和HTML非常相似,看範例文件:
?xml version="1.0"?><br><br>

<myfile><br><br>

<title>XML Quick Start</title><br><br>

<author>ajie</author><br><br>

<email>ajie@aolhoo.com</email><br><br>

<date>20010115</date><br><br>

</myfile>

第一行是一個XML聲明,表示文檔遵循的是XML的1.0 版的規範。

第二行定義了文檔裡面的第一個元素(element),也稱為根項目: < myfile>。這個就類似HTML裡的< HTML>開頭標記。注意,這個名稱是自己隨便定義的。

再下面定義了四個子項目:title,author,email,和date。分別說明文章的標題,作者,郵箱和日期。當然,你可以用中文來定義這些標籤,看上去更便於理解:

<?xml version="1.0" encoding="GB2312"?>

<文章>

<標題>XML輕鬆學習手冊</標題>

<作者>ajie</作者>

<信箱>ajie@aolhoo.com</信箱>

<日期>20010115</日期>

</文章>

這就是XML的文檔,任何掌握HTML的網友都可以直接寫出這樣簡單的XML文檔。

xml語言本身比較簡單,在與html轉換中還需用到一些指令碼語言。
下面是javascript的

<html>

<head>

<script language="JavaScript" for="window" event="onload">

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.async="false";

xmlDoc.load("myfile.xml");

nodes = xmlDoc.documentElement.childNodes;

title.innerText = nodesitem(0).text;

author.innerText = nodes.item(1).text;

email.innerText = nodes.item(2).text;

date.innerText = nodes.item(3).text;

</script>

<title>在HTML中調用XML資料</title>

</head>

<body bgcolor="#FFFFFF">

<b>標題: </b>

<span id="title"> </span>

<b>作者: </b>>

<span id="author"></span>

<b>信箱: </b>

<span id="email"></span>

<b>日期:</b>

<span id="date"></span>

</body><br><br>

</html><br><br>
2.將下面代碼存為myfile.xml

<?xml version="1.0" encoding="GB2312"?>

<myfile>

<title>XML輕鬆學習手冊</title>

<author>ajie</author>

<email>ajie@aolhoo.com</email>

<date>20010115</date>

</myfile>

xml語言格式:

1.所有的標記都必須要有一個相應的結束標記;

2.所有的XML標記都必須合理嵌套;

3.所有XML標記都區分大小寫;

4.所有標記的屬性必須用""括起來;

所以上列語句在XML中正確的寫法是

1.

sample

2.< b>< i>sample< /i>< /b>

3.< td>sample< /td>

4.< font color="red">samplar< /font>

另外,XML標記必須遵循下面的命名規則:

1.名字中可以包含字母、數字以及其它字母;

2.名字不能以數字或"_" (底線) 開頭;

3.名字不能以字母 xml (或 XML 或 Xml ..) 開頭;

4.名字中不能包含空格。
xml語言一個語句中基本上由兩部分組成:元素、標記、屬性和元數值。多的話是樹和樹葉的關係。

1.Element(元素):

元素在HTML我們已經有所瞭解,它是組成HTML文檔的最小單位,在XML中也一樣。一個元素由一個標識來定義,包括開始和結束標識以及其中的內容,就象這樣:<author>ajie</author>

唯一不同的就是:在HTML中,標識是固定的,而在XML中,標識需要你自己建立。

2.Tag(標識)

標識是用來定義元素的。在XML中,標識必須成對出現,將資料包圍在中間。標識的名稱和元素的名稱是一樣的。例如這樣一個元素:

<author>ajie</author>

其中<author>就是標識

3.Attribute(屬性):

什麼是屬性?看這段HTML代碼:<font color="red">word</font>。其中color就是font的屬性之一。

屬性是對標識進一步的描述和說明,一個標識可以有多個屬性,例如font的屬性還有size。XML中的屬性與HTML中的屬性是一樣的,每個屬性都有它自己的名字和數值,屬性是標識的一部分。舉例:

<author sex="female">ajie</author>

XML中屬性也是自己定義的,我們建議你盡量不使用屬性,而將屬性改成子項目,例如上面的代碼可以改成這樣:

<author>ajie

<sex>female</sex>

</author>

原因是屬性不易擴充和被程式操作。

4.Declaration(聲明)

在所有XML文檔的第一行都有一個XML聲明。這個聲明表示這個文檔是一個XML文檔,它遵循的是哪個XML版本的規範。一個XML的聲明語句就象這樣:

良好格式的文檔必須以一個XML聲明開始,例如:

<?xml version="1.0" standalone="yes" encoding="UTF-8"?>

其中你必須說明文檔遵守的XML版本,目前是1.0;其次說明文檔是"獨立的",它不需要DTD檔案來驗證其中的標識是否有效;第三,要說明文檔所使用的語言編碼。預設的是UTF-8,如果使用中文,你需要設定為GB2312

良好格式的XML文檔必須有一個根項目,就是緊接著聲明後面建立的第一個元素,其它元素都是這個根項目的子項目,屬於根項目一組。

良好格式的XML文檔的內容書寫時必須遵守XML文法

一.XML文法規則
二.元素的文法
三.注釋的文法
四.CDATA的文法
五.Namespaces的文法
六.entity的文法
七.DTD的文法

XML的文檔和HTML的原代碼類似,也是用標識來標識內容。建立XML文檔必須遵守下列重要規則:
規則1:必須有XML聲明語句
這一點我們在上一章學習時已經提到過。聲明是XML文檔的第一句,其格式如下:
<?xml version="1.0" standalone="yes/no" encoding="UTF-8"?>
聲明的作用是告訴瀏覽器或者其它處理常式:這個文檔是XML文檔。聲明語句中的version表示文檔遵守的XML規範的版本;standalone表示文檔是否附帶DTD檔案,如果有,參數為no;encoding表示文檔所用的語言編碼,預設是UTF-8。

規則2:是否有DTD檔案
如果文檔是一個"有效XML文檔"(見上一章),那麼文檔一定要有相應DTD檔案,並且嚴格遵守DTD檔案制定的規範。DTD檔案的聲明語句緊跟在XML聲明語句後面,格式如下:
<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">
其中:
"!DOCTYPE"是指你要定義一個DOCTYPE;
"type-of-doc"是文件類型的名稱,由你自己定義,通常於DTD檔案名稱相同;
"SYSTEM/PUBLIC"這兩個參數只用其一。SYSTEM是指文檔使用的私人DTD檔案的網址,而PUBLIC則指文檔調用一個公用的DTD檔案的網址。
"dtd-name" 就是DTD檔案的網址和名稱。所有DTD檔案的尾碼名為".dtd"。
我們還是用上面的例子,應該寫成這樣:
<?xml version="1.0" standalone="no" encode="UTF-8"?>
<!DOCTYPE filelist SYSTEM "filelist.dtd">

規則3:注意你的大小寫
在XML文檔中,大小寫是有區別的。<P>和<p>是不同的標識。注意在寫元素時,前後標識大小寫要保持一樣。例如:<Author>ajie</Author>,寫成<Author>ajie</author>是錯誤的。
你最好養成一種習慣,或者全部大寫,或者全部小寫,或者大寫第一個字母。這樣可以減少因為大小寫不匹配產生的文檔錯誤。

規則4:給屬性值加引號
在HTML代碼裡面,屬性值可以加引號,也可以不加。例如:<font color=red>word</font>和<font color="red">word</font>都可以被瀏覽器正確解釋。
但是在XML中則規定,所有屬性值必須加引號(可以是單引號,也可以是雙引號),否則將被視為錯誤。

規則5:所有的標識必須有相應的結束標識
在HTML中,標識可能不是成對出現的,比?lt;br>。而在XML中規定,所有標識必須成對出現,有一個開始標識,就必須有一個結束標識。否則將被視為錯誤。

規則6:所有的空標識也必須被關閉
空標識就是標識對之間沒有內容的標識。比如<br>,<img>等標識。在XML中,規定所有的標識必須有結束標識,針對這樣的空標識,XML中處理的方法是在原標識最後加/,就可以了。例如:
<br>應寫為<br />;
<META name="keywords" content="XML, SGML, HTML">應寫為<META name="keywords" content="XML, SGML, HTML" />;
<IMG src= "cool.gif">應寫為<IMG src= "cool.gif" />

二.元素的文法

元素由一對標識以及其中的內容組成。就象這樣:ajie。元素的名稱和標識的名稱是一樣的。標識可以用屬性來進一步描述。

在XML中,沒有任何保留字,所以你可以隨心所欲的用任何詞語來作為元素名稱。但是也必須遵守下列規範:

1.名稱中可以包含字母、數字以及其它字母;

2.名稱不能以數字或"_" (底線)開頭;

3.名稱不能以字母 xml(或 XML 或 Xml ..)開頭

4.名稱中不能包含空格

5.名稱中間不能包含":"(冒號)

為了使元素更容易閱讀理解和操作,我們還有一些建議:

1.名稱中不要使用"."。因為在很多程式語言中,"."是作為對象的屬性,例如:font.color。同樣的原因"-"也最好不要用,必須使用的,以"_"代替;

2.名稱盡量簡短。

3.名稱的大小寫盡量採用同一標準。

4.名稱可以使用非英文字元,比如用中文。但是有些軟體可能不支援。(IE5目前是支援中文元素的。)

CDATA全稱character data,翻譯為字元資料。我們在寫XML文檔時,有時需要顯示字母,數字和其它的符號本身,比如"<",而在XML中,這些字元已經有特殊的含義,我們怎麼辦呢?這就需要用到CDATA文法。文法格式如下:

<![CDATA[這裡放置需要顯示的字元]]>

例如:

<![CDATA[<AUTHOR sex="female">ajie</AUTHOR>]]>

在頁面上顯示的內容將是"<AUTHOR sex="female">ajie</AUTHOR>"

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.