關於XML(一)。

關於XML

什麼是XML?
web

XML是可擴展標記語言。相似於HTML,XML的宗旨是旨在傳輸數據,而非顯示數據。其標籤沒有預約義,您須要自行定義標籤。XML具備自我描述性,是W3C的推薦標準。瀏覽器

XML與HTML的區別。ide

XML被設計用來傳輸和存儲數據,其焦點是數據的內容。HTML被設計用來顯示數據,其焦點是數據的外觀。HTML旨在顯示信息,而XML旨在傳輸信息。工具

XML不是對HTML的替代XML是對HTML的補充。XML不會替代HTML,理解這一點很重要。在大多數web應用程序中,XML用於傳輸數據,而XML用於格式化並顯示數據。對XML最好的描述是:XML是獨立於軟件和硬件的信息傳輸工具。this

沒有任何行爲的XML。編碼

XML是不做爲的。
XML被設計用來結構化、存儲以及傳輸信息。是不會作任何事情的。它僅僅是包裝在XML標籤中的純粹的信息。咱們須要編寫軟件或者程序接收和顯示出這個文檔。spa

 

XML的用途

XML應用於web開發的許多方面,經常使用語簡化數據的存儲和共享。操作系統

 

XML把數據從HTML分離。(經過使用幾行Javascript,你就能夠讀取一個外部XML文件,而後更新HTML中的數據內容。)設計

XML簡化數據共享。(XML數據以純文本格式進行存儲,所以提供了一種獨立於軟件和硬件的數據存儲方法。)code

XML簡化數據傳輸。(經過XML,能夠在不兼容的系統之間輕鬆地交換數據。)

XML簡化平臺的變動。(XML在不損失數據的狀況下,更容易擴展或升級到新的操做系統、新應用程序或者新的瀏覽器。)

XML使您的數據更有用。(因爲XML獨立於硬件、軟件以及應用程序,不一樣的應用程序都可以訪問您的數據,不單單在HTML頁中,也能夠從XML數據源中進行訪問。)

XML用於建立新的Internet語言。(不少新的Internet語言是經過XML建立的:其中的例子包括:XHTML-最新的HTML版本WSDL-用於描述可用的web service

 

XML樹結構

例:

<?xml version="1.0" encoding="utf-8" ?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第一行XML聲明。它定義XML的版本(1.0)和所使用的編碼(utf-8)。
下一行描述文檔的根元素。(像在說:「本文檔是一個便籤」)<note>
接下來4行描述根的4個子元素。(to、from、heading、body)
最後一行定義根元素的結尾。</note>
XML文檔必須包含根元素,該元素是全部其餘元素的父元素。
XML文檔中的元素造成了一棵文檔樹。這棵樹從根部開始,並擴展到樹的最底端。
全部元素都可擁有子元素。
父元素擁有子元素。相同層級上的子元素成爲同胞,全部元素都可擁有文本內容和屬性。

 

XML語法規則

全部XML元素都必須有關閉標籤。(在XML中省略關閉標籤是非法的。)

note:XML聲明沒有關閉標籤,它不是XML自己的組成部分,不是XML元素,而且也不須要關閉標籤。
XML標籤對大小寫敏感。
XML必須正確地嵌套。例:<b><i>hello world</b></i>
XML文檔必須有根元素。(XML文檔必須有一個元素是全部其餘元素的父元素,該元素稱爲根元素。)
XML的屬性值必須加引號。
實體引用。
在XML中,一些字符擁有特殊的意義。
若是你把字符「<」放在XML元素中,會發生錯誤,這是由於解析器會把它看成新元素的開始。
錯誤XML:
<message>if salary < 1000 then</message>
正確XML:
<message>if salary &lt; 1000 then</message>
在XML中,有5個預約義的實體引用:
&lt; < 小於 &gt; > 大於 &amp; & 和號 &apos ' 單引號 &quot " 引號
note:在XML中,只有字符"<"和"&"確實是非法的。大於號是合法的。
XML中的註釋
<!--this is a commont-->
在XML中,空格會保留
HTML會把多個連續的空格字符裁剪(合併)爲一個,可是XML不會刪節。
XML以LF存儲換行
在Windows應用程序中,換行一般以一對字符來存儲:回車符(CR)和換行符(LF)。這對字符與打字機設置新行的動做有類似之處。在Unix應用程序中,新行以LF字符存儲。而Macintosh應用程序使用CR來存儲。

XML元素

XML文檔包含XML元素。

什麼是XML元素?
XML元素是指從(且包括)開始標籤知道(且包括)結束標籤的部分。
元素可包含其餘元素、文本或者二者的混合物。元素也能夠擁有屬性。

<bookstore>
<book category="CHILDREN">
  <title>Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title>Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore> 
View Code

在上例中,<bookstore> 和 <book> 都擁有元素內容,由於它們包含了其餘元素。<author> 只有文本內容,由於它僅包含文本。

在上例中,只有 <book> 元素擁有屬性 (category="CHILDREN")。

相關文章
相關標籤/搜索