XML 변수 초기화

Flash Player 9 이상, Adobe AIR 1.0 이상

다음과 같이 XML 객체에 XML 리터럴을 지정할 수 있습니다.

var myXML:XML =  
    <order> 
        <item id='1'> 
            <menuName>burger</menuName> 
            <price>3.95</price> 
        </item> 
        <item id='2'> 
            <menuName>fries</menuName> 
            <price>1.45</price> 
        </item> 
    </order>

다음 코드 예제와 같이 new 생성자를 사용하여 XML 데이터가 포함된 문자열에서 XML 객체의 인스턴스를 만들 수도 있습니다.

var str:String = "<order><item id='1'><menuName>burger</menuName>" 
                            + "<price>3.95</price></item></order>"; 
var myXML:XML = new XML(str);

닫는 태그가 없는 것과 같이 문자열의 XML 데이터 형식이 잘못된 경우에는 런타임 오류가 발생합니다.

다음 예제와 같이 다른 변수의 데이터를 참조로 XML 객체에 전달할 수도 있습니다.

var tagname:String = "item";  
var attributename:String = "id";  
var attributevalue:String = "5";  
var content:String = "Chicken";  
var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>;  
trace(x.toXMLString()) 
    // Output: <item id="5">Chicken</item>

URL에서 XML 데이터를 로드하려면 다음 예제와 같이 URLLoader 클래스를 사용합니다.

import flash.events.Event; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
 
var externalXML:XML; 
var loader:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest("xmlFile.xml"); 
loader.load(request); 
loader.addEventListener(Event.COMPLETE, onComplete); 
 
function onComplete(event:Event):void 
{ 
    var loader:URLLoader = event.target as URLLoader; 
    if (loader != null) 
    { 
        externalXML = new XML(loader.data); 
        trace(externalXML.toXMLString()); 
    } 
    else 
    { 
        trace("loader is not a URLLoader!"); 
    } 
}

소켓 연결에서 XML 데이터를 읽으려면 XMLSocket 클래스를 사용합니다. 자세한 내용은 Adobe Flash 플랫폼용 ActionScript 3.0 참조 설명서XMLSocket 클래스를 참조하십시오.