home > xml

CASAでXMLをロード

March 19, 2008

CASA Frameworkを使えばカンタンにxmlをロードできる。

import org.casaframework.xml.CoreXml;
import org.casaframework.load.data.xml.XmlLoad;
import org.casaframework.util.XmlUtil;

var myXmlLoad:XmlLoad = new XmlLoad("passport_list.xml");
myXmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_COMPLETE, "onDataLoad");
myXmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_ERROR, "onLoadError");
myXmlLoad.start();

function onDataLoad(sender:XmlLoad):Void {
//データの取得
XmlObj = XmlUtil.xmlToObject(sender.getXml());
this.sample1 = XmlObj['sample'][0]['sample_pass1'][0]['menu'][0]["head"];
this.sample2 = XmlObj['sample'][0]['sample_pass1'][0]['menu'][2]["head"];

trace(this.sample1);
}
function onLoadError(sender:XmlLoad):Void {
〜読み込みに失敗した時〜
}

実行結果は「ダミーダミーダミーダミーダミー」です。

xmlのデータは下記です。


<?xml version="1.0" encoding="UTF-8"?>
<sample>
<sample_pass1>
<menu head="ダミーダミーダミーダミーダミー" />
<menu head="ダミーダミーダミーダミーダミー" />
<menu head="ダミーダミーダミーダミーダミー" />
</sample_pass1>

<sample_pass2>
<menu head="ダミーダミーダミーダミーダミー" />
<menu head="ダミーダミーダミーダミーダミー" />
<menu head="ダミーダミーダミーダミーダミー" />
</sample_pass2>
</sample>

読み込む方法はノード名→配列→属性名 or nodeValueで大丈夫。超カンタンです。
今までがアホみたい。

【追記】
詳細はdocsをみればよくわかります。
http://casaframework.org/docs/

ノードの数を知りたい時には
var Count = XmlObj['sample'][0]['sample_pass1'].length;
これで、sample_pass1のノート数が分かります。


Permalink | Comments (0)