Flash CS3 文件 |
|||
| ActionScript 3.0 程式設計 > 處理 XML > XML 基本課程 | |||
XML 是一種用來表示結構化資訊的標準方式,不但可方便電腦處理,同時能讓開發人員與讀者輕鬆撰寫與瞭解。XML 是可擴展標記語言 (eXtensible Markup Language) 的縮寫。XML 標準可以在 www.w3.org/XML/ 上找到。
XML 針對資料提供了一項標準且方便的分類方式,讓使用者輕鬆讀取、存取與操作。XML 採用樹狀結構及與 HTML 類似的標籤結構。下列是一則簡易的 XML 資料範例:
<song>
<title>What you know?</title>
<artist>Steve and the flubberblubs</artist>
<year>1989</year>
<lastplayed>2006-10-17-08:31</lastplayed>
</song>
XML 資料也可能因為巢狀式標籤結構,以及一些特質及其它結構組件而變得更複雜。下列是一則較為複雜的 XML 資料範例:
<album>
<title>Questions, unanswered</title>
<artist>Steve and the flubberblubs</artist>
<year>1989</year>
<tracks>
<song tracknumber="1" length="4:05">
<title>What do you know?</title>
<artist>Steve and the flubberblubs</artist>
<lastplayed>2006-10-17-08:31</lastplayed>
</song>
<song tracknumber="2" length="3:45">
<title>Who do you know?</title>
<artist>Steve and the flubberblubs</artist>
<lastplayed>2006-10-17-08:35</lastplayed>
</song>
<song tracknumber="3" length="5:14">
<title>When do you know?</title>
<artist>Steve and the flubberblubs</artist>
<lastplayed>2006-10-17-08:39</lastplayed>
</song>
<song tracknumber="4" length="4:19">
<title>Do you know?</title>
<artist>Steve and the flubberblubs</artist>
<lastplayed>2006-10-17-08:44</lastplayed>
</song>
</tracks>
</album>
請注意,這個 XML 文件不但包含了其它完整的 XML 結構 (例如 song 標籤及其子系),同時示範了其它 XML 結構,例如一些特質 (song 標籤中的 tracknumber 與 length),以及一些包含其它標籤,而非包含資料 (例如 tracks 標籤) 的標籤。
如果您對 XML 僅有少許經驗,或是第一次使用,下列常見的 XML 資料簡報可供您參考。XML 資料是以純文字形式所撰寫,所使用的特殊語法可將資訊組織為結構化格式。一組 XML 資料通常稱為「XML 文件」。在 XML 格式裡,資料將透過階層結構分為各種「元素」(可能是單一資料項目或是其它元素的容器) 來加以組織。每一個 XML 文件都具有一個做為上層或主要項目的單一元素;在此根元素之內,可能會存在單一資訊,但是也很可能存在其它元素,且這些元素下層又會包含其它元素,以此類推。例如,這個 XML 文件就包含了音樂專輯的相關資訊:
<song tracknumber="1" length="4:05">
<title>What do you know?</title>
<artist>Steve and the flubberblubs</artist>
<mood>Happy</mood>
<lastplayed>2006-10-17-08:31</lastplayed>
</song>
每個元素都可由一組「標籤」來辨別,也就是將元素名稱包含在角括弧 (小於跟大於符號) 之內。開頭的標籤代表元素的開始,內含元素名稱:
<title>
結束的標籤代表元素的結尾,內含正斜線加上元素名稱:
</title>
如果元素未包含任何內容,則可以寫成空白元素 (亦稱為自我結束元素)。在 XML,此元素為:
<lastplayed/>
與此元素相似:
<lastplayed></lastplayed>
除了元素的內容會包含在開頭與結尾標籤之內以外,元素同時能夠包含其它稱為「特質」的值 (在元素的開頭標籤中定義)。例如,下列 XML 元素定義了一個稱為 length 的單一特質,加上 "4:19" 的值:
<song length="4:19"></song>
每個 XML 元素都會包含內容,內容有可能是單一數值、一或多個 XML 元素,或是無 (表示為空白元素)。
若要深入瞭解處理 XML 的方式,可以參考其它一些書籍及資源,包括下列網站:
ActionScript 3.0 包含好幾種可用來處理 XML 結構資訊的類別。下列是兩大主要類別:
<artist type="composer">Fred Wilson</artist> <artist type="conductor">James Schmidt</artist> <artist type="soloist">Susan Harriet Thurndon</artist>
若要納入 XML 命名空間做進階應用,則 ActionScript 亦能包含 Namespace 與 QName 類別。如需詳細資訊,請參閱使用 XML 命名空間。
除了處理 XML 時內建的類別之外,ActionScript 3.0 同時包含了好幾個運算子,特別針對您在存取與操作 XML 資料時所需而提供。使用這些類別與運算子來處理 XML 的方式我們稱為 ECMAScript for XML (E4X),是由 ECMA-357 第 2 版規格所定義。
當您使用 ActionScript 來處理 XML 時,很可能要執行下列工作:
下列參考清單包含了本章所使用的重要術語:
<element/>) 來代表。attributename="value" 格式寫在元素開頭標籤中的元素之相關名稱數值,而不是寫成個別子元素且置於元素巢狀結構中的相關名稱數值。當您研讀本章的內容時,可能會想要自行測試其中的部分範例程式碼列表。本章內的程式碼列表基本上都已經包含適當的 trace() 函數呼叫。若要測試本章內的程式碼列表:
您會在「輸出」面板中看到 trace() 函數的結果。
測試範例程式碼列表的相關技巧會在測試章節內的範例程式碼列表中詳細說明。
Flash CS3
目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00000123.html