flex如何读取xml文件(原创)

     最近刚做了个“关灯游戏”的小项目。其中需要通过读取.xml的配置文件来初始化游戏的状态。下面就介绍下如何读取xml文件的内容
     经过多次尝试,我发现读取xml中的内容有两种方法(当然,这些是对于我的这个配置文件的格式而言的)。我的配置文件的格式是这样的
<Stages>
    <Stage>
        <Row>00010</Row>
        <Row>00111</Row>
        <Row>01010</Row>
        <Row>11100</Row>
        <Row>01000</Row>
    </Stage>
....
</Stages>
     现在我想读出里面的00010之类的数据。方法有两种:
(1)for(var i:int = 0; i < xml.Stage.length(); i++)
    {
        arr = new Array();
        for(var j:int = 0; j < 5; j++)
        {
             subArr = new Array();   
            str = xml.Stage[i].Row[j];//读出"00010"这些元素的值
            subArr = getArray(str);   //将字符串"00010"转换成数组
            arr = arr.concat(subArr);
        }
    }
(2) for each (var stage in xml.Stage)
    {
        arr = new Array();
        for each(var row in stage.Row)
        {
            subArr = new Array();
            str = row;
            subArr = getArray(str);
            arr = arr.concat(subArr);    
        }
        stages.push(arr);
    }
我个人觉得第二种方法更酷些。我刚开始的第一直觉是使用第一种方法。毕竟使用C++那么久了。比较习惯C++的用法。但是第二种更简洁,更好看。
注意:要使用这两种方法,必须要使xml的格式一样。这样才方便读出。
                                                                                                                                       ----David Cai 2009-8-14 午于金山公司
posted @ 2009-08-14 13:36  行路者  阅读(3059)  评论(0编辑  收藏  举报