外部XMLファイルを読み込む際の流れ。(テキスト)
- URLLoaderのインスタンスを作る
var loader:URLLoader = new URLLoader(); - 読み込むXMLファイルをURLRequestで指定する
var urlReq:URLRequest = new URLRequest(” ******.xml”); // 読み込むXMLファイルを指定 - load()で読み込む
loader.load(urlReq); - 読み込んだデータをXMLオブジェクトに変改し取り出す。
var xmlObj:XML = new XML(loader.data); - フィールドに表示をする
fild.text = xmlObj.contact.web.text();
- URLLoaderのインスタンスを作る
var loader:URLLoader = new URLLoader(); - URLRequest
var urlReq = new URLRequest(); - 読み込む
xmlLoader.load(urlReq); - 受信したxmlから値を取り出す
var xmlObj:XML = new XML(xmlLoader.data);
クロスドメイン:ドメインをまたいで外部の情報を読み込む場合、そのままではセキュリティエラーになります。これを解決するには、XMLファイルが置いてあるサーバーから読み込みを許可するポリシーファイルを読み込みます。XMLファイルを読み込むよりも前に一回だけ行えばいいので、クラス定義の前にスクリプトを書くことができます。
例
Security.loadPolicyFile(“読み込むドメインの crossdomain.xml”);
流れ
- XMLLoaderのインスタンスを作成 myLoader = new XMLLoader();
- xmlデータを読み込む
var url:String = “http://albatrus.com/test/test.xml”;
myLoader.loadXML(url); - 読み込んだxmlには名前空間が設定されているので、あらかじめ「use namespace」を使って値にアクセスできるように名前空間の使用を宣言する。よく理解できないので詳しくはこちらへ。
- 読み込んだxmlからXMLを使って、必要な値を取り出す。
var xmlObj:XML = myLoader.xml;
var names:XMLList = xmlObj.namelist.name; - 取り出した値を画面上に表示する。この例では、nameのと[data]を取り出して表示する。
for(var i:int = 0; i < nanes.length() ; i++){
var name:XML = names[i];
fid.appendText(name.coad+" : "+ name.data);
}
