比较完整简洁的Flash处理XML文档数据教程上篇第2/3页

网页制作 Flash Flash As 分类:[default] 更新日期: 2015-08-16


Flash方面::
在Flash中调用xml文档需要用到XML类和XMLNode类中的一些方法和属性。这里我们就不需要用到那么多。把用到的方法和属性列出来:
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 对象的节点名称
开始实验:
首先说明:在xml声明处加上encoding="gb2312",使用gb2312编码;Flash中如果有中文需要在加载代码前面加上System.useCodepage = true;使用系统编码,防止乱码。
实验1:
一个简单的实验,把xml文档中的节点在Flash输出来。新建一个xml文档,在记事本输入下面的代码。保存为 xml-001.xml 。
代码如下:

<?xml version="1.0"?> 
<!--xml-001.xml--> 
<firstNode name="1"> 
    <childNode name="1.1" /> 
    <childNode name="1.2" /> 
    <childNode name="1.3" /> 
</firstNode> 

上面是一个简单的xml文档,结构是一个顶层节点中嵌套三个子级节点。
现在在Flash中如何读出来呢?来看操作:打开Flash,新建一个Flash文档,保存到刚才的xml文档中的目录中,命名 xml-001.fla。在第一帧输入下面代码:
代码如下:

//xml-001.fla. 
//实例化一个xml对象. 
var myxml:XML = new XML(); 
//分析时忽略xml文档中的空格. 
myxml.ignoreWhite = true; 
//加载xml-001.xml文档. 
myxml.load("xml-001.xml"); 
//调用XML.onLoad事件. 
myxml.onLoad = function(success:Boolean) 

    //如果加载成功,success=true;否则success=false; 
    if (success) { 
        trace("加载成功!"); 
        //输出顶层节点的节点名和顶层节点中属性name的值. 
        trace(myxml.firstChild.nodeName+":"+myxml.firstChild.attributes.name); 
        //用一个数组来引用顶层节点中子级节点的数组. 
        var child_arr:Array = myxml.firstChild.childNodes; 
        //用嵌套for语句遍历出xml文档中的所有数据. 
        //这个for遍历的是顶层节点下的子级节点. 
        for (var i = 0; i<child_arr.length; i++) { 
            //输出顶层节点下的子级节点的节点名和顶层节点下的子级节点中属性name的值. 
            trace(child_arr[i].nodeName+":"+child_arr[i].attributes.name); 
        } 
    } else { 
        trace("加载失败!"); 
    } 
}; 

实验2:
现在做的是把一个多层嵌套节点的xml文档在Flash中输出来。新建一个xml文档,在记事本中输入下面的代码,然后保存为 xml-002.xml。
代码如下:

<?xml version="1.0"?> 
<!--xml-002.xml--> 
<firstNode name="1"> 
    <childNode name="1.1"> 
        <Node name="1.1.1" /> 
        <Node name="1.1.2" /> 
        <Node name="1.1.3" /> 
    </childNode> 
    <childNode name="1.2"> 
        <Node name="1.2.1" /> 
        <Node name="1.2.2" /> 
        <Node name="1.2.3" /> 
    </childNode> 
    <childNode name="1.3"> 
        <Node name="1.3.1" /> 
        <Node name="1.3.2" /> 
        <Node name="1.3.3" /> 
    </childNode> 
</firstNode> 
上面是一个多层嵌套节点的xml文档,结构是一个顶层节点中,嵌套3个子级节点,3个子级节点分别嵌套3个子级节点。现在又应该怎样在Flash中读出来呢?其实原理跟上面一样,在for中嵌套一个for就可以了。

> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • PHP生成静态HTML文档实现代码
    这篇文章主要为大家详细介绍了PHP生成静态HTML文档实现代码,将数据库中的文章数据生成单个的HTML文档原理,感兴趣的小伙伴们可以参考一下利用PHP,将数据库中的文章数据生成单个的HTML文档.首先,有利于搜索引擎的收录.其次,避免数据库中的字段暴露在地址栏上,更安全. 给出代码: <?php //引入数据库配置文件 include( dirname ...
  • ie9下关闭弹出窗口出现__flash__removeCallback未定义错误
    在关闭弹出窗口时,出现__flash__removeCallback未定义错误.而且是关了又出现,关于这个问题的解决方法如下使用swfupload作为上传组件,artdialog作为弹出窗口,在关闭弹出窗口时,出现"__flash__removeCallback"未定义错误.而且是关了又出现.网上有些解决方案,主要就是说覆写"_ ...
  • Web2.0编程思想:16条法则
    1.在你开始之前,先定一个简单的目标.无论你是一个Web 2.0应用的创建者还是用户,请清晰的构思你的目标.就像"我需要保存一个书签"或者"我准备帮助人们创建可编辑的.共享的页面"这样的目标,让你保持最基础的需求.很多Web 2.0应用的最初吸引之处就是它的简单,避免并隐藏了那些多余的复杂性.站在创建者的立场,可以想象 ...
  • php英文单词统计器
    php英文单词统计器
    这篇文章主要为大家详细介绍了php英文单词统计器的实现代码,本文实例为大家分享了英文单词统计器php 实现,供大家参考,具体内容如下 程序开始运行, 按"浏览"钮选择一个英文文档, 再按"统计 Statistics"钮, 即可得到按字母顺序列出的所有单词,及其出现的次数 用于测试的数据文档: data.txt驱动程序: ...
  • php微信开发之批量生成带参数的二维码
    php微信开发之批量生成带参数的二维码
    这篇文章主要介绍了php微信开发之批量生成带参数的二维码 的相关资料,需要的朋友可以参考下带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个接口,那下面就来研究一下吧. 具体接口说明请参见,微信公众平台开发者文档(http://mp.weixin.qq.com/wiki ...
  • php项目开发中用到的快速排序算法分析
    这篇文章主要介绍了php项目开发中用到的快速排序算法,结合实例形式详细分析了php快速排序的原理与使用方法,需要的朋友可以参考下本文实例讲述了php项目开发中用到的快速排序算法.分享给大家供大家参考,具体如下: 实际上在,做web开发,比较少遇到使用一些算法之类的,毕竟不是做搜索引擎,也不是写底层(比如写个类似于mysql这样的数据库,里面需要自己实现排序算 ...
猜你喜欢