1. 程式人生 > >XML詳解一XML語法

XML詳解一XML語法

XML指可擴充套件標記語言很類似 HTML,被設計用來傳輸和儲存資料而非顯示資料,XML標籤沒有被預定義需要自行定義標籤,標籤具有自我描述性,同時XML也是 W3C 的推薦標準。

先來寫一個XML指令碼demo.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 版本1.0  編碼utf-8 -->
<book >
  <title>xml</title> 
  <description>xml可擴充套件標記語言</description> 
  <
year>1998</year> <price>30.00</price> </book>

在瀏覽器執行demo.xml:

1.如上圖就是一個XML檔案,XML是純文字的,標籤不像HTML是預定義標籤,需要自行定義如:<note></note>、<標籤></標籤>、<qwer></qwer>,注意:XML的根標籤(最外層標籤)有且只能有一對!也就是上面程式碼的<book></book>標籤

 

2.XML的標籤可以是中文,也可以是字母,對大小寫敏感推薦小寫,這裡需要注意一下的是XML的語法嚴格,標籤必須成對出現即有開始又有結束,比如<title>xml  如果沒有閉合標籤就會報錯:

也有一種特殊的情況就是自閉和標籤,如:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 版本1.0  編碼utf-8 -->
<book >
  <title>xml</title> 
  <description>xml可擴充套件標記語言</description> 
  <year>1998</year> 
  <price>30.00</price> 
  <a /> <!-- 自閉和標籤,瀏覽器可以正常解析
--> </book>

 

 

3.XML標籤可以巢狀但是不能交叉巢狀:

 

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 正確巢狀 -->
<book >
  <title>
    <description>xml可擴充套件標記語言</description>
  </title> 
</book>

<!-- 錯誤巢狀 -->
<?xml version="1.0" encoding="UTF-8"?> 
<book >
  <title><description></title> xml可擴充套件標記語言</description> 
</book>

 

4.XML標籤也可以擁有屬性,屬性必須有值並加引號:

<?xml version="1.0" encoding="UTF-8"?> 
<book >
  <!-- 屬性名自定義,必須有值並加引號,推薦使用小寫 -->
  <title book_id="1">xml</title> 
  <description>xml可擴充套件標記語言</description> 
  <year>1998</year> 
  <price>30.00</price> 
</book>

 

5.XML中實體引用:

&lt; < 小於
&gt; > 大於
&amp; & 和號
&apos; ' 單引號
&quot; " 引號

 

 

 

 

 

 

 在XML中如果你把字元 <放在 XML 元素中會發生錯誤,如:<description>5 < 10</description>,這是因為解析器會把<當作新元素的開始,為了避免這種錯誤就需要使用實體引用:

<?xml version="1.0" encoding="UTF-8"?> 
<book>
  <title>xml</title> 
  <description>5 &lt; 10</description> 
</book>

在 XML 中只有字元 < 和 &"確實是非法的,但是用實體引用來代替它是一個好習慣

 

6.XML CDATA

如果一大段內容包含字母數字漢字特殊符號等等,為了可以正常解析此時只使用實體引用並不現實,就需要用到<![CDATA[]]>:

<?xml version="1.0" encoding="UTF-8"?> 
<book>
  <title>xml</title> 
  <content><![CDATA[一大段內容包含123qwer&<<<*;/]]></content>
</book>

這樣在上面的程式碼中,解析器會忽略 CDATA 部分中的所有內容而直接原模原樣顯示

 

注意注意注意:在 XML中換行會被儲存視為一個節點,所以正常的xml檔案都是一行搞定:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore><book book_id="1"><title>php</title><author><![CDATA[PHP是世界上最好的程式語言.emmm...]]></author></book></bookstore>