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");
}