[AS3]as3.0加载json数据和xml数据之间的实例对比(3)
Main.as package { importflash.display.Sprite; importflash.events.Event; importload.MyLoad; importevents.MyEvent; importflash.text.TextField; importflash.system.System; /** *文档类 *本实例涉及的知识有
Main.as
- package
- {
- import flash.display.Sprite;
- import flash.events.Event;
- import load.MyLoad;
- import events.MyEvent;
- import flash.text.TextField;
- import flash.system.System;
- /**
- * 文档类
- * 本实例涉及的知识有自定义事件,事件发送,调用外部xml,json,以及基本的类和方法的使用
- * 通过加载外部json 或者xml 文档,实现swf文件和数据库连接
- * 通过这个小实例可以看出json和xml 的大致用法和区别,在本实例中,json略比xml更方便
- * 关于他两的具体比较可见http://baike.baidu.com/view/136475.htm
- * json的包在lib中
- * @author hayiban
- */
- public class Main extends Sprite
- {
- private var jsonTxt:TextField;//成员变量
- private var xmlTxt:TextField;
- public function Main():void
- {
- System.useCodePage = true;//处理中文乱码
- if (stage) init();//初始化
- else addEventListener(Event.ADDED_TO_STAGE, init);
- }
- private function init(e:Event = null):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, init);
- //文本框
- jsonTxt = new TextField();
- this.jsonTxt.x = 25;
- this.jsonTxt.y = 20;
- this.jsonTxt.border = true;
- this.jsonTxt.width = 450;
- this.jsonTxt.height = 170;
- addChild(this.jsonTxt);
- this.xmlTxt = new TextField();
- this.xmlTxt.x = 25;
- this.xmlTxt.y = 210;
- this.xmlTxt.border = true;
- this.xmlTxt.width = 450;
- this.xmlTxt.height = 170;
- addChild(this.xmlTxt);
- //json 接受
- var jsonLoad:MyLoad = new MyLoad();
- jsonLoad.loadJson("json.txt");//传递路径
- jsonLoad.addEventListener(MyEvent.HAYIBAN_EVENT, jsonHandler);
- //xml 接受
- var xmlLoad:MyLoad = new MyLoad();
- xmlLoad.loadXml("xml.xml");//传递路径
- xmlLoad.addEventListener(MyEvent.HAYIBAN_EVENT,xmlHandler);
- }
- private function jsonHandler(e:MyEvent):void {
- //接收并显示Json数据
- var obj:Object = e.getJson;
- var str:String="Json数据:\n";
- for (var i:* in obj) {
- str += "职位:"+obj[i].title + "\n";
- for (var j:* in obj[i].child ) {
- str += "---姓名:"+obj[i].child[j].name + "->性别:"+obj[i].child[j]
.sex+"->爱好:"+obj[i].child[j].love+"->扣扣:"+obj[i].child[j].qq+"\n";- this.jsonTxt.text = str;
- }
- }
- }
- private function xmlHandler(e:MyEvent):void {
- //接收并显示xml数据
- //xml数据也可以,做成和上面json一样的显示格式
- var arr:Array = e.getXml;
- var str:String="xml数据:\n";
- //for each(var i:* in arr) {
- //str += i;
- //if (i=="程序员"||i=="策划") {
- //str += "\n";
- //}
- //this.xmlTxt.text = str;
- //}
- for (var j:int = 0; j < arr.length;j++ ) {
- if (arr[j]=="程序员" || arr[j]=="策划") {
- str +="\n"+arr[j]+":";
- }else {
- str += "--"+arr[j];
- }
- this.xmlTxt.text = str;
- }
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...