1.  XML可以直接写在程序代码之中,以XML型变量的形式,在这种类型的XML变量的内容中,可以调用其本身前面代码的变量,用{}括起来引用,如:

var squareLength:Number = 10;
var circleRadius:Number = 5;
var shapeData:XML = <shapeList>
<shape type=”square” size={squareLength} />
<shape type=”cicle” size={circleRadius} />
</shapeList>;

如果要用变量名来访问属性值,则可以用.attribute[varName]来访问,如:

var squareLength:Number = 10;
var circleRadius:Number = 5;
var shapeData:XML = <shapeList>
<shape type=”square” size={squareLength} />
<shape type=”cicle” size={circleRadius} />
</shapeList>;
Var varName:string=”size”;
Trace(shapeData.shape.attribute[varName]);

2.  点号(.)可以用来访问XML的元素,属性标识符在(@)可以用来访问元素的属性,方括号([])可以用来通过索引或名称访问属性。XML的元素的内容指的是<..>和</…>之间的内容(如果其中没有尖括号标记的内容,则元素的内容输出仅为<..>和</…>之间的内容,否则会输出带有“<>”和“</>”以及期间的XML内容,结果与使用toString()得到的结果相同,而toXMLString()得到的是含有标签的值),元素的名称用<…>中的第一个字符串来表示(不带双引号),而元素的属性指的是<…>之内的标记。元素名称和元素属性的区别是名称后面没有=,即没有给其赋值,如:

      <golf hotel=“india”>juliet</golf> ,其中golf指的元素名,hotel是属性名

      

3.  XML里的过滤器用判断符号来查询,返回的是属于XMLList类型的数据,用(>,>=,<,<=,==,!=等)来过滤,如movielist.movie.(@id==22),这个返回的是movie这一级别的XMLList。

对于

<menus>
<mainmenu typename="肉类" link="product.aspx?id=1">
  <submenu typename="猪蹄" link="product.aspx?id=3"/>
</mainmenu>
<mainmenu typename="泡菜类" link="product.aspx?id=2">
  <submenu typename="酸芋" link="product.aspx?id=5"/>
</mainmenu></menus>
如果上面的数据存在一个xml的对象中,则xml.mainmenu返回的则是一个XMLList,它的内容如下:
<mainmenu typename="肉类" link="product.aspx?id=1">
  <submenu typename="猪蹄" link="product.aspx?id=3"/>
</mainmenu>
<mainmenu typename="泡菜类" link="product.aspx?id=2">
  <submenu typename="酸芋" link="product.aspx?id=5"/>
</mainmenu>
4.  装载外部的XML文件
import flash.net.*;
var myXML:XML;
var url:URLRequest = new URLRequest(“http://www.your-domain.com/test.xml”);
var loader:URLLoader = new URLLoader(url);
loader.dataFormat=DataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, onLoadComplete);
function onLoadComplete(event:Event):void {
if (loader.data) {
myXML = XML(loader.data);
}
}

这里也可以用try…catch来写:

try{ myXML=XML(loader.data);}catch(e:TypeError){trace(“error occurred”);}

element()返回下一级节点的所有元素,可以用for …each来遍历。text()返回的是本级元素内的文本内容,如果文本的内容被子元素分隔开,则返回的是文本的数组。