ActionScript3.0 关于XML
1.内部写法演示(传递XML格式字符串给XML的构造函数):
var str:String="<book><name>as3 用法字典</name><pages>450-470</pages></book>"; var myxml:XML=new XML(str); trace(myxml); 输出效果: <book> <name>as3 用法字典</name> <pages>450-470</pages> </book>

注:有四种方式可以创建XML对象,分别是:
1.传递XML格式字符串给XML的构造函数;
2.创建XML对象并直接使用XML进行赋值;
(@运算访问XML对象)
3.创建一个空的XML对象,然后使用E4X填充数据;
4.创建空的对象,从外部读取数据;
2.点运算访问XML对象
trace(myxml.name); //输出:as3 用法字典

3.外部写法演示:
说明:xxx.fla(文件名随意),同目录下有 lzxt文件夹(该文件下有SampleDot.as文件)

package lzxt{ //包块路径,为该类存储位置的路径,且该类一定要存储在该路径的目录下,否则编译会报错
import flash.display.Sprite;
import flash.text.TextField;
public class SampleDot extends Sprite { //SampleDot为自定义类;.fla中属性-类:lzxt.SampleDot
private var xml:XML;
public function SampleDot() {
init(); //自定义函数
showtitle(); //自定义函数
}
private function showtitle() {
for (var i:* in xml.news.title) {
var tit:TextField=showText(xml.news.title[i]); //创建变量tit
tit.x=30; //文章标题x坐标
tit.y=30+22*Number(i); //文章标题y坐标
addChild(tit); //添加到舞台上;
var da:TextField=showText(xml.news.day[i]); //创建变量da
da.x=300; //文章发布日期x坐标
da.y=30+22*Number(i); //文章发布日期y坐标
addChild(da); //添加到舞台上;
}
}
private function init() {
xml=<list>
<news>
<title>新闻标题1……………………</title>
<day>2009-02-07</day>
<title>新闻标题2……………………</title>
<day>2009-02-06</day>
<title>新闻标题3……………………</title>
<day>2009-02-07</day>
<title>新闻标题4……………………</title>
<day>2009-02-06</day>
<title>新闻标题5……………………</title>
<day>2009-02-06</day>
</news>
</list>;
}
private function showText(_str:String):TextField{
var label:TextField=new TextField()
label.width=300;
label.text=_str;
return label;
}
}
}


浙公网安备 33010602011771号