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

原文地址:https://www.cnblogs.com/kojya/p/2515206.html