XML trong ActionScript 3

Sử dụng XML là cách tốt nhất để Flash liên lạc với các dữ liệu từ bên ngoài. Dễ hiểu và dễ sử dụng. Cấu trúc của XML rất đa dạng, ở bài này tôi muốn giới thiệu 1 cấu trúc kết hợp để từ đó các bạn có thể áp dụng vào các trường hợp khác nhau.

Khi muốn hiển thị 1 vài tấm ảnh từ bên ngoài vào Flash thì XML sẽ là trung gian liên lạc. Cấu trúc XML có dạng sau:

Tên file là “gallery.xml”

<?xml version="1.0" encoding="utf-8"?>
<GALLERY>
<IMAGE TITLE="Image 1">image1.jpg</IMAGE>
<IMAGE TITLE="Image 2">image2.jpg</IMAGE>
<IMAGE TITLE="Image 3">image3.jpg</IMAGE>
</GALLERY>

Trong cấu trúc XML trên thì GALLERY được gọi là Root-Node, IMAGE là các Child-Node, còn TITLE là các Node-Attribute. Để liệt kê các IMAGE (Child-Node) dùng đoạn code dưới đây:

var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("gallery.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
myXML = new XML(e.target.data);
trace(myXML.IMAGE.*);
}

Kết quả cho ra sẽ là:

image1.jpgimage2.jpgimage3.jpg

Để hiển thị tên của tấm ảnh đầu tiên:

var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("gallery.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
myXML = new XML(e.target.data);
trace(myXML.IMAGE[0]);
}

Kết quả:

image1.jpg

Để hiện thị Attribute đầu tiên (Title của tấm ảnh số 1):

var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("gallery.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
myXML = new XML(e.target.data);
trace(myXML.IMAGE[0].@TITLE);
}

Kết quả:

Image 1

Hy vọng bài hướng dẫn này sẽ giúp được các bạn mới làm quen với XML trong AS3.