flash+xml简单笔记

本文介绍如何使用Flash解析XML文件,并提供了实例代码。包括加载XML文件、遍历节点、获取属性值等操作。
简单的学习笔记:

city.xml的内容如下:

</xml version="1.0" encoding="gb2312"?>

<root>

  <city name="北京" code="010" pnum="10W">Beijing</city>

  <city name="上海" code="020" pnum="15W">shanghai</city>

  <city name="深圳" code="030" pnum="20W">shenzhen</city>

</root>

 

 

常用操作:

System.useCodepage = true;  //如果加载的外部文本文件没有按 Unicode 进行编码,则应将System.useCodepage 设置为 true

var xmlData:XML=new XML()  //创建xml对象

xmlData.ignoreWhite=true;  //忽略空格

var myList:Array = new Array();  //为了可以在flash中其他位置可以使用xml的数据,把数组存在onLoad外面

xmlData.Load("city.xml")   //开始加载外部xml文件

xmlData.onLoad=function(success.Boolean){  //加载完成后操作

if(success){

   trace("加载完成");

   myList=this.childNodes[0].childNodes; // xml文档中<root>节点下<city>节点内容,childNodes本身是Array對象。还可以写成myList=this.firstChild.childNodes;
   //
xml文档中有三个节点层,例有myList=this.childNodes[0].childNodes[0].childNodes; 

}
else{

   trace("加载失败");

}
}
 

function getName(p1:String):Void{  //根据xml属性code的值进行检索,*.attributes属性

  if(p1==myList[0].attributes.code){

     cityName=myList[0].attributes.name;

     cityPNum=myList[0].attributes.pnum;

  }

}

 

a_btn.onRelease=function(){//根据xml检索属性code="010"

   getName("010");

   trace(cityName);

   trace(cityPNum);

}

 

function main(){   //循环遍历xml

  for(i:Number=0;i<myList.length;i++){

     trace(myList[i]);

}

}

 

 

XMLNode类:

      XMLNode.attributes;//用来指定xml文档的属性.

      XMLNode.childNodes;//返回指定xml文档对象的子级的数组.

      XMLNode.firstChild;//引用父级节点的子级列表中的第一个子级.

      XMLNode.nodeValue;//返回XML对象的节点值.

      XMLNode.nodeName;//XML 对象的节点名称

 

xmlData.childNodes[0]将返回:

<root>

  <city name="北京" code="010" pnum="10W">Beijing</city>

  <city name="上海" code="020" pnum="15W">shanghai</city>

  <city name="深圳" code="030" pnum="20W">shenzhen</city>

</root>

 

xmlData.childNodes[0].nodeName将返回:

root

 

xmlData.childNodes[0].childNodes[0]将返回:

<city name="北京" code="010" pnum="10W">Beijing</city>

 

xmlData.childNodes[0].childNodes[0].nodeName将返回:

city

 

xmlData.childNodes[0].childNodes[1].attributes.name将返回:

上海

 

xmlData.childNodes[0].childNodes[0].childNodes[0].nodeValue将返回:

Beijing

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值