XML語法概述

XML文檔使用的是自描述的和簡單的語法,一個XML文檔最基本的構成包括:聲明,處理指令(可選)和元素。以下是一個簡單的XML文檔:

 1<?xml version ="1.0" encoding ="GB2312" standalone="yes" ?>
 2<?xml-stylesheet type="text/xsl" href="yxfqust.xsl" ?>
 3<!--以下是一個學生名單-->
 4<學生名單>
 5    <學生>
 6      <學號>2003081205</學號>
 7      <姓名>田淋</姓名>
 8      <班級>計03.2班</班級>
 9    </學生>
10    <學生>
11      <學號>2003081232</學號>
12      <姓名>楊雪鋒</姓名>
13      <班級>計03.2班</班級>
14    </學生>
15</學生名單>

第1行是XML聲明,第2行是處理指令,第3行是註釋,4到15就是文檔的各個元素。(注:XML標記都是大小寫敏感的).
一。文檔的聲明:

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

xml標記說明它是一個xml文檔,後面兩個屬性值表明了它的版本號和編碼標準,standalone取yes表明該文件未引明其他外部XML文件。
二。處理指令
   格式:<?處理指令名 處理指令信息 ?>

<?xml-stylesheet type="text/xsl" href="yxfqust.xsl" ?>

三。註釋:
格式:<!--註釋內容-->

<!--以下是一個學生名單-->

註釋應注意的問題:
       1.註釋不能出現在xml聲明之前;
       2.註釋不能出現在標記中;
       3.註釋中不能出現連續兩個連字符,即"--"  如:<!--this is  a bad document.--do you know!-->;
       4.註釋中可包含元素,但元素中不能包含"--"包含的元素解析時被忽略;
       5.註釋不能嵌套;
四。元素與標記:
       所有的XML元素必須合理包含,且所有的XML文檔必須有一個根元素。如同HTML一樣,XML元素同樣也可以擁有屬性。XML元素的屬性以名字/值成對的出現。XML語法規範要求XML元素屬性值必須用引號引着。請看下面的兩個例子,第一個是錯誤的,第二個是正確的。

<?xml version="1.0" encoding="ISO-8859-1"?>
<note date=12/11/2002>
<to>Tove</to>
<from>Jani</from>
</note>
---------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
</note>

格式:<標記 屬性名1="值1".......>數據內容</標記>
XML元素是可以擴展的,它們之間有關聯,XML元素有簡單的命名規則:

Names can contain letters, numbers, and other characters (元素的名字可以包含子母,數字和其他字符。) Names must not start with a number or punctuation character (元素的名字不能以數字或者標點符號開頭。) Names must not start with the letters xml (or XML or Xml ..) (元素的名字不能以XML(或者xml,Xml,xMl...)開頭。) Names cannot contain spaces(元素的名字不能包含空格。)

元素是XML文檔的靈魂,它構成了文檔的主要內容。XML元素則是由標記來定義的,同時標記分爲非空標記和空標記。
       1.非空標記格式:
   <標記>元素內容</標記>    如:

   <學號>2003081205</學號>
   
<姓名>田淋</姓名>
   
<班級>計03.2班</班級>

      2.空標記格式:
 <標記名 屬性名="屬性值", 屬性名="屬性值"....../> 如:<田淋 學號="2003081205"/>

同時元素也支持合理的嵌套,如上面的文檔例子,學生名單與學生就是一層嵌套。嵌套需滿足以下規則:
      1.所有xml文檔都從一個根節點開始,根節點包含了一個根元素;
      2.文檔內所有其他元素必須包含在根元素中;
      3.嵌套在內的爲子元素,同一層的互爲兄弟元素;
      4.子元素還可以包含子元素;
      5.包含子元素的元素稱爲分支,沒有子元素的元素稱爲樹葉;
數據既可以存儲在子元素中也可以存儲在屬性中,應儘量使用子元素而避免使用屬性。原因如下:

attributes cannot contain multiple values (child elements can) (屬性不能包含多個值(子元素可以)) attributes are not easily expandable (for future changes) (屬性不容易擴展) attributes cannot describe structures (child elements can) (屬性不能夠描述結構(子元素可以)) attributes are more difficult to manipulate by program code (屬性很難被程序代碼處理) attribute values are not easy to test against a Document Type Definition (DTD) - which is used to define the legal elements of an XML document(屬性值很難通過DTD進行測試)
發佈了3 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章