简述在FLASH读取XML的数据(转)

FLASH+XML展示可配置动画 可根据XML配置FLASH中播放速率及形状高度 立即下载

在FLASH中,使用XML接口获取外部数据是最有效的方法之一.(通常还有WebSerivce接口和LoadVars方法)

下面来看一个简单的XML文档(city.xml)

这个文档描述的是城市地区的信息

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

<root>

<city pnum="500000" code="021" />

<city pnum="600000" code="010" />

<city pnum="1000000" code="057" />

</root>

简单介绍一下XML文档格式的书写规范:

第一行:

这是一个XML文档的描述信息.其中定义了该XML文档的一些基本属性,包括:版本信息(version),使用的字符编码(encoding).

第二行:

(虽然在FLASH中我们用不到节点的任何属性,但是合式的XML文档必须要求一个根节点)

在XML文档中,这是一个根节点.XML规定所有标签必须有闭合.所以,在最后一行使用对应的标签来闭合.同样,单行的XML节点也需要闭合,例如:其中"/"符号就表示单行的节点闭合."name","code","pnum"是节点的属性,写法就是:属性名="属性值" 这样的名/值对.至于节点名和属性名都是可以自定义的,也就是说可以任意命名.但是还是建议要尽量规范

"city"节点是root""的子节点,相应的"root"叫做"city"的父节点

在这个XML文档中有3个子节点,我们数据就存储在这3个子节点的属性中,分别有:城市名称(name),城市代码(code),城市人口数目(pnum)

我们要做的最终目的就是在FLASH中获取这些节点的属性值

下面来看一个FLASH调用XML的实例

System.useCodepage = true;

var doc:XML = new XML();

doc.load("city.xml");

doc.ignoreWhite = true;

doc.onLoad = function(success){

if(success){

trace(doc.childNodes[0].childNodes[0].attributes.name);

trace(doc.childNodes[0].childNodes[1].attributes.name);

trace(doc.childNodes[0].childNodes[2].attributes.name);

}

}

分析:

System.useCodepage = true;

如果在XML文档中使用了中文编码,例如"gb2312".那么在FLASH中必须启用使用页面编码的指令.

var doc:XML = new XML();

建立一个XML实例.赋予"doc"这个对象.

doc.load("city.xml");

"load()"-XML对象的一个方法:加载XML数据到"doc"这个对象当中.

提供XML数据的方式并不是限制于.xml的文件,任何符合XML书写格式的文档都可以,通常,我们是使用程序来提供XML数据的,例如"http://www.51ww.com/city.aspx?country=china"

doc.ignoreWhite = true;

"ignoreWhite"-XML对象的一个属性:指定XML文档忽略空白,因为在XML中一个换行在FLASH中会被视为一个节点

doc.onLoad = function(success){}

"onLoad"-XML对象的一个方法.将会返回一个布尔值"true或false".用来判断XML是否被成功加载.如果加载成功则会返回"true",反之则返回"false"

此处为该方法使用了一个函数,其参数"success"用来贮存上述的布尔值

if(success){}

一个判断语句:如果加载成功(即success的值为"true"),则触发括号内的动作

trace(doc.childNodes[0].childNodes[0].attributes.name);

输出doc(此时"city.xml"中的数据已经包含到doc这个XML对象当中)这个XML对象的第一个节点下的第一个子节点的"name"属性值

childNodes-XML对象的一个属性,它的值的类型是数组型.XML的一个节点可以在FLASH中通过这个属性来表示其包含的数据.

由于FLASH中数组的长度计算是由"0"开始,所以我们XML文档中的第一个节点就存储在数组的"0"位置.而不是"1"

所以,我们取出XML文档的第一个节点-"",就应该表示成这样"childNodes[0]"

同样,我们取出XML对象根节点("")下的第一个子节点(""),就表示成doc.childNodes[0].childNodes[0]

相应的,取出第二个子节点:doc.childNodes[0].childNodes[1]

第三个子节点:doc.childNodes[0].childNodes[2]

(这一步中,需要涉及到FLASH中数组对象的使用原理)

在FLASH与XML的数据交互中,可能数据的表现是最难的一步.

针对上面数据表现方式,我们可以充分利用数组的便利性来做

假如已经获得一个XML对象"doc"

首先,我们将这个XML中使用到的数据转换为一个数组对象来表示

var myList:Array = doc.childNodes[0].childNodes;//直接将XML文档根节点下的的所有子节点放到一个数组中

trace(myList[0].attributes.name+","+myList[0].attributes.code+","+myList[0].attributes.pnum);//输出第一个"city"节点所有的属性值

trace(myList[1].attributes.name+","+myList[1].attributes.code+","+myList[1].attributes.pnum);//输出第二个"city"节点所有的属性值

trace(myList[2].attributes.name+","+myList[2].attributes.code+","+myList[2].attributes.pnum);//输出第三个"city"节点所有的属性值

输出结果:

上海,021,500000

北京,010,600000

浙江,057,1000000

/*以上完整的代码为*/

System.useCodepage = true;

var doc:XML = new XML();

doc.load("city.xml");

doc.ignoreWhite = true;

doc.onLoad = function(success){

if(success){

var myList:Array = doc.childNodes[0].childNodes;

trace(myList[0].attributes.name+","+myList[0].attributes.code+","+myList[0].attributes.pnum);

trace(myList[1].attributes.name+","+myList[1].attributes.code+","+myList[1].attributes.pnum);

trace(myList[2].attributes.name+","+myList[2].attributes.code+","+myList[2].attributes.pnum);

}

}

/*代码结束*/

为了在FLASH中其他的位置都能够访问到我们所需要的XML数据,我们可以将myList数组对象放置到上下文的任意位置

例如:

System.useCodepage = true;

var doc:XML = new XML();

var myList:Array = new Array();//预先建立一个数组对象用来放置XML节点数据,以便FLASH其他位置的代码都能够访问

doc.load("city.xml");

doc.ignoreWhite = true;

doc.onLoad = function(success){

if(success){

myList = doc.childNodes[0].childNodes;//当XML加载成功后对上文的myList数组对象进行赋值.

}

}

//使用一个按钮动作来获取数组对象中的一个CITY节点信息

btName.onPress = function(){

trace(_root.myList[0].attributes.name+","+_root.myList[0].attributes.code+","+_root.myList[0].attributes.pnum);

}

这样的写法当然还不满足我们一些复杂的需求,而且代码过冗长.

使用函数来返回我们需要的信息,应该是最正确的做法,我们来实现它

按下按钮时,向函数递交一个城市代码,返回城市名和人口信息

System.useCodepage = true;

var doc:XML = new XML();

var myList:Array = new Array();//预先建立一个数组对象用来放置XML节点数据,以便FLASH其他位置的代码都能够访问

doc.load("city.xml");

doc.ignoreWhite = true;

doc.onLoad = function(success){

if(success){

myList = doc.childNodes[0].childNodes;//当XML加载成功后对上文的myList数组对象进行赋值.

}

}

//函数开始

function getCityInfo(code){ //构建一个函数的写法是:function 函数名(参数){//脚本代码}

var cityName:String;//建立一个字符窜变量来存储城市名

var pepCount:String;//建立一个字符窜变量来存储居民数量

for(var i=0;i if(code eq myList[i].attributes.code){

cityName = myList[i].attributes.name;

pepCount = myList[i].attributes.pnum;

}

}

return "城市:"+cityName+",人口:"+pepCount //返回一段文字表达信息

}

//函数结束

/*按钮的动作*/

btName.onPress = function(){

trace(getCityInfo("010"));//输出函数的返回结果,(在函数的参数中提交城市代码-"010")

}

flash+xml整站 非常漂亮 非常好的FLASH源码 FLA 可以编辑 整体设计非常大气 代码非常完整 整站修改方便 立即下载

相关推荐

自己写的flash读取xml文件 初学者适用

自己写的flash读取xml文件 初学者适用

FLASH与XML的数据交互

在FLASH中,使用XML接口获取外部数据是最有效的方法之一.(通常还有WebSerivce接口和LoadVars方法) 下面来看一个简单的XML文档(city.xml) 这个文档描述的是城市地区的信息 xml version="1.0" encoding="gb2312"?&gt; &lt;root&gt; &lt;city name="上海" code="021" pnum=&quo

wwj256的专栏 317

flash 从xml中获取数据

不错的资源,希望对初学者有一点帮助,代码不算好。但是也话了一点点时间

利用Flash AS2.0实现读取php xml数据和插入记录

思路如下:1.php 生成xml文件2.flash as2.0去读取xml文件3.php实现数据插入,前提是用$_POST实现数据接收4.flash用loadVars方法来实现 在数据的提交并接收php返回的数据;5.flash具体显示其返回的数据效果.demo截图:关键代码:flash中第1帧的代码:var myList:mx.controls.List;var myTextarea:mx.co

ahstudy的专栏 2104

FLASH AS2.0 入门实例教程(word)

flash 程序设计教程,含实例,共18章,每一章均有语法函数介绍,并附实例练习。

一种导弹追踪算法的MATLAB仿真实现

以下是一个用于模拟机动变轨导弹和防空导弹追踪过程的 MATLAB 代码,同时会提供 3D 效果展示。你可以运行这段代码,从而观察机动变轨导弹和防空导弹的速度与位置变化。

SmartGridequation的博客 933

AS2.0解析XML

今天写Flash,用到AS2.0来解析XML。     //System.useCodepage = true;  //防止出现中文的乱码      var YBxml:XML=new XML();      var SKxml:XML=new XML();   //创建xml对象,它是xml数据的表现者            YBxml.i

枯鸦专栏 2229

MacOS蓝牙连接疑难杂症:从基础排查到高级修复全攻略

本文提供了一份全面的MacOS蓝牙故障排查与修复指南。从基础的菜单栏检查、终端命令诊断,到软/硬重启蓝牙服务、删除配置文件,再到使用blueutil工具、重置NVRAM等高级方法,系统性地解决了蓝牙无法连接、连接不稳定等常见问题。最后还分享了环境干扰排查、预防措施及硬件故障自检方法,帮助用户彻底解决Mac蓝牙连接难题。

weixin_29271263的博客 450

每天学习flash一点(3) flash外部读取xml

  刚刚学了点as2.0很希望能够把所学的记载下来,作为一种学习的好习惯。。今天我开始写有关于flash 一些很常用的东西。初学者,写得不好望能见谅。 对于外部读取xml, flash 有专门提供的类给我们,我们只需要简单调用某些函数就会发现其实xml 使用起来很方便:万事开头难,我们可以先模仿一个模式来写:先看看flash 调用xml一些基本的套路:现在我们开始我们第一步的学习 

夏天的树人的专栏 2593

ptrade量化策略之沪深300指数增强

本策略的核心是在沪深300股票池中选股,选择的股票都是市值比较大,业绩比较好的白马股,根据市场相对位置以及基本面因子来选择股票

qq_29301281的博客 1191

MSBlock赋能C2f模块,让目标检测在轻量化与精度间双向突破

在文件夹下新建,将上述MSBlock和C2f_MS类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义模块。

LXY_LOVE36的博客 143

Flash读写xml

一、Flash读写xml 1、版本是:air的,代码是as3 2、资源使用 3、xml文件设置 注意: 1、数量要少于下面的坐标数量 2、写入后,系统默认的xml阅读器看这个文件分行是乱的,我这个notepad++是按照顺序排列的 3、在里面注释没有用,写入后注释都没有了 4、xml文件只能是和flash一个路径,不能是上一个或者下一个距离 5、此项目只能从flash中运...

qq_40544338的博客 942

大数据ZooKeeper(一):ZooKeeper基本知识

Zookeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。ZooKeeper本质上是一个。

Lansonli(蓝深李)的博客 3149

flash读取XML格式数据

xml格式 两种写法第一种//声明省略,不影响flash读取////假设不声明XML格式,则必须存储成UTF-8格式,否则用IE打开XML文档 会出现无效字符等问题       1       第一个      绝对第一个          2      第二个      绝对第二个 第二个 可以混合使用......本例就是混合使用,这个格式写法看自己习惯,我喜欢第二种,呵呵绝对第一个绝对第二

longfengabc的专栏 1744

Halcon 深度学习实战:PCB 缺陷检测模型的 TensorRT/OpenVino 加速推理

本文介绍了如何利用TensorRT和OpenVino对Halcon深度学习模型进行加速优化,以提升PCB缺陷检测系统的实时性能。文章详细阐述了模型加速框架的选择策略(根据硬件选用TensorRT或OpenVino)、优化流程实施(包括混合精度优化和模型导出)以及加速后的推理实现。实验结果表明,优化后的模型体积缩小40%,推理速度提升2-5倍(GPU环境下从79ms降至38ms,CPU环境下从3804ms降至2152ms),同时保持检测精度。通过完整的代码示例展示了从模型加速到实际部署的全流程,为工业视觉场景

LIN943168247的博客 535

Spring AI 实战:如何使用 MCP Server 搭建 MCP 天气查询服务

MCP(Model Context Protocol)是 Anthropic 提出的一种开放协议,它定义了AI 模型与外部世界交互的标准方式。通俗地说:大模型本身只拥有训练数据中的知识,它不知道今天的天气、无法查询你的数据库、不能调用你的内部 API。MCP 就是解决这个问题的"桥梁"——它让模型能够发现并使用外部工具(Tools),就像人用手去操作工具一样。角色职责对应依赖MCP Server暴露工具(Tool),供模型调用MCP Client连接 Server,让模型发现和使用工具本文我们先聚焦。

SmartSi 760

关于Flash读取Xml数据,及后台交互实现方法的说明。

首先讲的是xml的格式(注释:最好使用utf-8编码)(注意:xml是标记语言。标记都可以自己定义)那flash是怎么读取xml呢??先用flash几个函数来调用xmlnew XML()参数用来调用xmlmy_xml.load(url)参数url 要加载的 XML 文档所位于的 URL。my_sound.onLoad = function(success){// 此处是您的语句}参数success

zwkzsj770925的专栏 5051

适航文章汇总:知识体系全面梳理

无论您是行业新手还是经验丰富的专业人士,都可以通过本篇文章快速查找相关资料,提高对适航认证、机载系统、软件及硬件等领域的理解。本部分详细解析ARP 4754A、ARP 4761、DO-178C、DO-254等核心标准,并介绍其在机载系统开发中的应用。介绍FAA、EASA、CCAR等主要航空管理机构的适航规章体系,并说明各类飞行器(如固定翼、旋翼机、无人机等)的适航要求。本部分还探讨硬件设计、验证与确认过程中的挑战。从系统架构设计到机载设备的集成与管理,本部分介绍机载系统的研发体系及适航管理的最佳实践。

qq_41854911的博客 1451

flash读取XML文件

关于XML的简介与编写格式在下在这就不多谈了(因为 大家都是聪明人)。对XML的最通常的使用,就是读取出XML文档中所保存的数据。我们来创建这个要被读取的XML文档。你可以用任何一种纯文本编辑器来 创建一个XML文档。打开你喜欢的纯文本编辑器,在其中输入下面的代码; (这是一个个人简历): /////////////////////////////////////////////////

37度2 2155

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

FLASH加载XML数据

 n 久没用FLASH , 收藏一份  ^_^ 一、建立XML对象:var myXML = new XML();二、引用XML文件:myXML.load("data.xml");三、忽略空格:myXML.ignoreWhite = true;//默认的为false四、处理XML对象的函数:myXML.onLoad = function(success){statements;}五、da

1954

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

[XML系列]Flash读取XML数据

以前老师说的对:“你会的越多,不会的就越多。假如你会的东西代表一个圆,那当圆小的时候不会的东西相对来说就比较少,当圆越来越大的时候,由于圆周长的越来越大,那你不会的东西就相对来说是越来越多了”。一直以来只知道用简单的复制黏贴制作东西,很多事情也是一做完了就开始忘却,Flash这个软件在2000年的时候就已经有接触了,那个时候好像还做过一些好玩的小玩意,但是现在用起来却发现已经全忘光了,可...

avgk01030117的博客 142

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

简述在FLASH读取XML的数据

 在FLASH中,使用XML接口获取外部数据是最有效的方法之一.(通常还有WebSerivce接口和LoadVars方法)下面来看一个简单的XML文档(city.xml)这个文档描述的是城市地区的信息简单介绍一下XML文档格式的书写规范: 第一行:这是一个XML文档的描述信息.其中定义了该XML文档的一些基本属性,包括:版本信息(version),使

turbocc 因程序而激情 701

flash读取不同格式xml

xml格式数据两种写法如下:第一种//声明省略,不影响flash读取//&lt;?xml version="1.0" encoding="UTF-8" ?&gt;&lt;root&gt;   &lt;body&gt;     &lt;id&gt;1&lt;/id&gt;       &lt;name&gt;第一个&lt;/name&gt;      &amp

weixin_33804582的博客 108

【Flex】读取本地JSON,然后JSON数据转成XML数据

package utils { import flash.xml.XMLDocument; import flash.xml.XMLNode; import mx.rpc.xml.SimpleXMLEncoder; /** * 模块功能:把json格式的数据 转换成 xml格式的数据 * 创建时间:2016-11-26 ...

weixin_30788731的博客 207

[原创]flash as2读取分析xml文档

作者:小超(ccxxcc)地址:http://www.eb163.com/club/viewthread.php?tid=317首先建立一个xml文档,使用utf-8编码(防止出现flash读取是中文乱码),取名为getdata.xml。xml文件:getdata.xml       3        6        6        6 使用flash as2 实现最简单的读取:[co

CC小超的专栏 1707
上一篇: 线程同步 --转
下一篇: 怎么加载xml
hacktt
博客等级 码龄19年 21粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值