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