应用思考-教育技术论坛
标题:
利用as3 实现对网络XML数据的读取
[打印本页]
作者:
etthink
时间:
2007-12-2 15:50
标题:
利用as3 实现对网络XML数据的读取
响应龙城的倡议,这两天在看关于as3网络通信的内容,进度较慢,琐碎之事太多,下个学期我请假一个学期做论文,时间会集中些。
先发一个根据黑羽的书中例子写的网络XML数据读取,教程正在总结,随后发布。
我把代码加了注释,源文件和代码先发布。
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.text.TextField;
//创建类
public class Readrss extends Sprite{
//声明动态文本对象,也可以说是Readrss类的实例属性 title_txt
private var title_txt:TextField;
//类的构造函数
public function Readrss(){
//rss的地址,注意必须能成功连接internet才能测试
var targetURL:String = "http://feed.feedsky.com/qiexing";
//构建通信请求对象
var rssrequest:URLRequest = new URLRequest(targetURL);
//构建URLloader对象
var rssvariables:URLLoader = new URLLoader();
//设置数据格式为文本格式
rssvariables.dataFormat = URLLoaderDataFormat.TEXT;
//注册侦听器,数据加载完触发
rssvariables.addEventListener(Event.COMPLETE,completeHandler);
//使用异常捕获
try{
trace("加载中....");
//发送数据请求
rssvariables.load(rssrequest);
}
catch(error:Error){
trace("不能加载这个RSS数据源" + error);
}
//生成动态文本框的实例,用来显示内容
title_txt = new TextField();
//设置文本框的属性 autoSize
title_txt.autoSize = "left";
//添加文本框实例到显示列表
addChild(title_txt);
}
//事件处理函数,注意参数
private function completeHandler(event:Event):void{
//event.target即是rssvariables,数据格式是String类型,通过XML构造函数实现转换
trace(event.target.data is String);
var resultXML = new XML(event.target.data);
//把xml实例的title生成XMLList实例
var titleList:XMLList = resultXML.channel.item.title;
//把所有的标题在动态文本框中输出
for each(var rsstitle:XML in titleList){
title_txt.appendText("*" + rsstitle + "\n");
}
}
}
}
复制代码
源文件下载:
(, 下载次数: 161)
上传
点击文件名下载附件
作者:
龙城flash
时间:
2007-12-2 19:46
楼主辛苦了。
作者:
jen
时间:
2007-12-28 21:27
:lol 支持,希望有更多的新作
欢迎光临 应用思考-教育技术论坛 (http://etthink.com/)
Powered by Discuz! X3.4