您可以將 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 Platform 的 ActionScript 3.0 參考
中的
XMLSocket
類別。