メイン 迷える子羊の部屋【初心者専用】 XMLデータファイルの読込みと表示について | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
beewee | Åê¹ÆNo.45624 投稿日時: 2010-9-2 15:39 |
新米 居住地: 新宿区 投稿: 28
使用環境:
WinXP-SP3,FlashCS4(AS3.0) |
XMLデータファイルの読込みと表示について XMLデータ初心者です。
AS3.0でXMLデータファイルを読込みしてDataGridコンポーネントに表示させる様に奮闘努力中です。 しかしDataGridに読み込んだXMLデータを表示させたいのですがご教授願えませんでしょうか。 1.用意したXMLファイル(test.xml) <?xml version="1.0" encoding="utf-8"?> <song> <title>What you know?</title> <artist>Steve and the flubberblubs</artist> <year>1989</year> <lastplayed>2006-10-17-08:31</lastplayed> </song> 2.AS3.0 import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; 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("test.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!"); } } プレビューでは <song> <title>What you know?</title> <artist>Steve and the flubberblubs</artist> <year>1989</year> <lastplayed>2006-10-17-08:31</lastplayed> </song> XMLを読み込んで出力されました。 3.DataGridをコンポーネントからステージにドラッグしてインスタンス「aGg」としました。 DataGridのカラムヘッダー設定を以下にした。 var titleCol:DataGridColumn = new DataGridColumn("title"); titleCol.headerText = "タイトル"; titleCol.width = 100; var artistCol:DataGridColumn = new DataGridColumn("artist"); artistCol.headerText = "プレイヤー"; artistCol.width = 60; var yearCol:DataGridColumn = new DataGridColumn("year"); yearCol.headerText = "発売日"; yearCol.width = 60; var lastCol:DataGridColumn = new DataGridColumn("last"); lastCol.headerText = "最終発表"; lastCol.width = 60; var myDP:DataProvider = new DataProvider(dataXML); aDg.columns = [titleCol, artistCol, yearCal, lastCal ]; aDg.width = 280; aDg.dataProvider = myDP; aDg.rowCount = aDg.length; 結果として//未定義のプロパティ「yearCal」「lastCal」のアクセスでエラーとなります。 XMLデータを表示させるにはどの様にAS記述したら良いのかわかりません。 例題を検索しても「XML読込み方法」、「ASに直接XML記述する方法」等が ありますが連携した「XML読込み→データ変換?→表示」の記述が なかなかございません。 どうぞ、宜しくご教授の程、お願い申し上げます。 |
ひろゆき | Åê¹ÆNo.45625 投稿日時: 2010-9-2 16:00 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: XMLデータファイルの読込みと表示について スクリプトは[code][/code]で囲んで、ちゃんと整形しましょう。読みづらいです。
|
beewee | Åê¹ÆNo.45819 投稿日時: 2010-9-16 10:11 |
新米 居住地: 新宿区 投稿: 28
使用環境:
WinXP-SP3,FlashCS4(AS3.0) |
Re: XMLデータファイルの読込みと表示について ひろゆき様、報告が遅れました。
xmlファイルの整理とAS3.0の勉強に時間がかかりましたが、無事読込みと表示が出来ました。 アドバイスありがとうございました。 1.UIコンポーネントからDataGridをステージドラッグ。 2.xmlファイルは既存MySQLからphpMyAdmin,export作成しMEN1.xmlとした。 <?xml version="1.0" encoding="utf-8" ?> <!-- - - phpMyAdmin XML Dump - version 2.11.2.2 - http://www.phpmyadmin.net - - ホスト: xxxxx - 生成時間: 2010 年 9 月 07 日 04:37 - サーバのバージョン: 5.0.51 - PHP のバージョン: 4.4.2 --> <!-- - データベース: '_mcnmogdb' --> <_mogdb> <!-- テーブル MCNMEN1 --> <MEN1> <No.>001</No.> <name>鈴木</name> <email>001@def.ghi</email> <mobile>010-1111-2222</mobile> </MEN1> <MEN1> <No.>002</No.> <name>田中</name> <email>002@ert.fgh</email> <mobile>020-2222-3333</mobile> </MEN1> <MEN1> <No.>003</No.> <name>工藤</name> <email>003@3333.eee</email> <mobile>030-4444-5555</mobile> </MEN1> </_mogdb> 2.アクションフレームに import fl.controls.DataGrid; import fl.data.DataProvider; import fl.controls.ScrollPolicy; import fl.controls.dataGridClasses.DataGridColumn; var dp:DataProvider; var url:String = "MEN1.xml"; var req:URLRequest = new URLRequest(url); var uLdr:URLLoader = new URLLoader(); uLdr.addEventListener(Event.COMPLETE, completeHandler); uLdr.load(req); function completeHandler(event:Event):void { var ldr:URLLoader = event.currentTarget as URLLoader; var xmlDP:XML = new XML(ldr.data); dp = new DataProvider(xmlDP); aDg.dataProvider = dp; } aDg.addColumn("No.").width=35; aDg.addColumn("name").width=90; aDg.addColumn("mobile").width=100; aDg.addColumn("email").width=200; aDg.width =440; aDg.height=500; var tf:TextFormat = new TextFormat(); tf.size = 12; tf.color = 0x0066CC; tf.font = "Arial" aDg.setStyle("headerTextFormat", tf); aDg.move(20, 10); 以上でxmlfailをDataGridに表示出来ました。 また、phpMyAdminからxmlにexportしたデータはMs-OFFICE EXCELにて編集が可能でした。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |