XMLファイルの読み込みとファイル選択ダイアログ

ここでは、ファイル選択ダイアログで選択されたXMLファイルを読み込んでみます。

FileメニューのOpenを選択することでファイル選択ダイアログを表示し、選択された XMLファイルを読み込みます。

メニュー部分は、ウィンドウメニューを作成するを参照してください

ファイル選択ダイアログを表示するには、Fileオブジェクトを使用します。

function createMenu() {
    ・・・・・
    filemenu.items[0].addEventListener(air.Event.SELECT,openFile);
    ・・・・・
}

function openFile() {
    var fileToOpen = new air.File();
    var txtFilter = new air.FileFilter("GPX","*.gpx;*.xml");

    try
    {
        fileToOpen.browseForOpen("Open",[txtFilter]);
        fileToOpen.addEventListener(air.Event.SELECT,fileSelected);
    }
    catch(error)
    {
        air.trace("Failed:");
    }
}

メニューのOpenが選択されると、openFile関数が実行されます。

openFile関数の中では、FileオブジェクトのbrowseForOpenメソッドでファイル選択ダイアログを表示しています。

ファイルが選択された場合、登録したリスナーによりfileSelected関数を実行するようにしています。

次にXMLファイルを読み込みます。

function fileSelected( event ) {
    stream = new air.FileStream();
    stream.open(event.target, air.FileMode.READ);
    var xmldata = stream.readUTFBytes(stream.bytesAvailable);
    stream.close();

    var domParser = new DOMParser();
    var xmldata = domParser.parseFromString(xmldata,"text/xml");
}