一篇文章快速教你flash读取XML文件
小标 2018-06-11 来源 : 阅读 1653 评论 0

摘要:在flash中,关于XML的简介与编写格式在下在这就不多谈了(因为 大家都是聪明人)。对XML的最通常的使用,就是读取出XML文档中所保存的数据。我们来创建这个要被读取的XML文档。你可以用任何一种纯文本编辑器来 创建一个XML文档。希望对大家学习flash有所帮助。

在flash中,关于XML的简介与编写格式在下在这就不多谈了(因为 大家都是聪明人)。对XML的最通常的使用,就是读取出XML文档中所保存的数据。我们来创建这个要被读取的XML文档。你可以用任何一种纯文本编辑器来 创建一个XML文档。希望对大家学习flash有所帮助。

打开你喜欢的纯文本编辑器,在其中输入下面的代码;
(这是一个个人简历):

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                <?xml version="1.0" encoding="GB2312"?> 
                              <personal>
                                          <profile>
                                         <name>明</name>
                                         <sex>男</sex>
                                        <age>21</age>
                                        <city>南宁</city>
                                        </profile>
                                        <profile>
                                        <name>繁</name>
                                <sex>男</sex>
                                        <age>21</age>
                                         <city>上海</city>
                                           </profile>
                                    </personal>

   把该文档作为 profile.xml 保存。
现在我们来创建用于读取profile.xml文档的flash 程序。新建一个Flash 文档,在根时间线的第1帧捆绑下面的脚本:
                         

//防止乱码(一般这样说,但不然只要在保存XML文档时以Unicode保存就可以删除这句)
      System.useCodepage=true; 
      //创建一个XML对象myXML
      myXML=new XML();
      //创建一个All 与 aa bb cc dd的数组
       var all = new Array();
      var aa = new Array();
       var bb = new Array();
       var cc = new Array();
       var dd = new Array();
      //把profile.xml装入myXML
      myXML.load("profile.xml");
      //忽略仅包含空白的文本节点
      myXML.ignoreWhite=true;
      //当profile.xml完全装入myXML中时应进行的处理
      myXML.onLoad=function(success){
            //如果将profile.xml完全装入时
            if (success){
                //获取myXML 对象中全部子节点对象的对象数组,对象数组中的每个数据元素都是 myXML 操作对象中的一个子节点对象。
                all = myXML.firstChild.childNodes;
                //测试可以看到"<personal><profile>.....</profile> <profile>.....</profile></personal>"中所有的数据
                trace(All);
                //用一个 for 得出all的总数,这里2
                for (var i = 0; i<all.length; i++) {
                //如果想得到profile.xml文档中所有的"<name>..</name>"数据,输入下句
                aa[i] = all[i].childNodes[0].firstChild.nodeValue;
                trace(aa[i]);
                //如果想得到profile.xml文档中所有的"<sex>..</sex>"数据,输入下句
                bb[i] = all[i].childNodes[1].firstChild.nodeValue;
                trace(bb[i]);
                //如果想得到profile.xml文档中所有的"<age>..</age>"数据,输入下句
                cc[i] = all[i].childNodes[2].firstChild.nodeValue;
                trace(cc[i]);
                //如果想得到profile.xml文档中所有的"<city>..</city>"数据,输入下句
                dd[i] = all[i].childNodes[3].firstChild.nodeValue;
                trace(dd[i]);
                            }//结束
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////语法1////////////////////
      //语法: myXML.childNodes   
      //返回:一个对象数组
      //介绍:读取 XML 操作对象的 childNodes 属性,可以获取一个包含 myXML 操作对象中全部子节点对象的对象数组,对象数组中的每              个数据元素都是 myXML 操作对象中的一个子节点对象。
     //////////////////////////////语法2///////////////////////        
     //语法: myXML.firstChild 
     //返回:一个 XML 元素或文字节点对象
     //介绍:通过读取 XML 操作对象的 firstChild 属性,可以获取 myXML 操作对象中包含的第一个子元素节点或子文字节点对象。

    是不是很简当呢!当然这只是我们的初步,之后我雪狐所要讲解的是如何用XML文档里的数据来制作一个简单的flash播放器

文章2============================

XML类:
       XML.ignoreWhite;//处理xml文档中的空白,设为true时,忽略空白,默认值为false.
       XML.load("xml文档的地址");//加载指定的xml文档.
       XML.onLoad=function(success:Boolean){};//成功加载了xml文档时调用.
       XML构造函数.

XMLNode类:
       XMLNode.attributes;//用来指定xml文档的属性.
       XMLNode.childNodes;//返回指定xml文档对象的子级的数组.
       XMLNode.firstChild;//引用父级节点的子级列表中的第一个子级.
       XMLNode.nodeValue;//返回XML对象的节点值.
       XMLNode.nodeName;//XML 对象的节点名称

在“蓝色理想”里找到这些属性,用nodeValue的时候,试了大半天,还是没有成功。。。

一时兴起,试了firstChild,竟然成功了。。

如:<xml><ls><langshen name="狼神">还是狼神</langshen></ls></xml>

提取一个XML中,“langshen”这个值的时候,name是这样提取的:

xml.firstChild.firstChild.firstChild.attributes.name

.而结点内容,则是:

xml.firstChild.firstChild.firstChild.firstChild。。用nodeValue时会返回null

而且,FLASH中读XML和VB类的不一样,第一层就已经是一个firstChild。。。

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程