다음과 같이 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 클래스를 사용합니다. 자세한 내용은
ActionScript 3.0 Reference for the Adobe Flash Platform
에서
XMLSocket 클래스
를 참조하십시오.