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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM