Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AS3从xml创建多维数组_Xml_Actionscript 3_Multidimensional Array_2d - Fatal编程技术网

AS3从xml创建多维数组

AS3从xml创建多维数组,xml,actionscript-3,multidimensional-array,2d,Xml,Actionscript 3,Multidimensional Array,2d,我想创建一个嵌套数组。这是我加载xml后的代码 function readXML(event:Event):void { _data = new XML(event.target.data); for each (var usr in _data.item) { allUserbase.push({name: usr.@name,state: usr.@state, complex: usr.complex,image:usr.@image, link: usr.@link})

我想创建一个嵌套数组。这是我加载xml后的代码

 function readXML(event:Event):void
 {
 _data = new XML(event.target.data);
 for each (var usr in _data.item)
 {
 allUserbase.push({name: usr.@name,state: usr.@state, 
 complex:  usr.complex,image:usr.@image, link: usr.@link});
 for (var k:int = 0; k< allUserbase.length; k++){
 trace(k, allUserbase[k].complex);
 for (var t:int = 0; t< allUserbase[k].length; t++){
 trace(k,t, allUserbase[k][t]);
 // this part when i try to built 2d array doesnt work.. :(*/
 }
函数readXML(事件:event):void
{
_数据=新的XML(event.target.data);
每个(变量usr在_data.item中)
{
allUserbase.push({name:usr.@name,state:usr.@state,
complex:usr.complex,image:usr.@image,link:usr.@link});
for(变量k:int=0;k
以下是我的XML:

   <content>
   <item image="John.jpg" name="John" state = "New Jersey" >
   <complex fid = "0"> mg749</complex>  
   <complex fid = "1"> ks749</complex>  
   <complex fid = "2"> ks678</complex>      
   </item>    
   <item image="Smith.jpg" name="Smith" state = "California">  
   <complex fid = "0"> we649</complex>  
   <complex fid = "1"> sd449</complex>  
   <complex fid = "2"> df459</complex>  
   <complex fid = "3"> hj569</complex>      
   </item>  
   <item image="Smith.jpg" name="Mike" state = "New York">  
   <complex fid = "0"> 8794</complex>  
   <complex fid = "1"> 4384</complex>     
   </item> 
   </content>; 

mg749
ks749
ks678
we649
sd449
df459
hj569
8794
4384
; 

{name:usr.@name,state:usr.@state,

complex:usr.complex,image:usr.@image,link:usr.@link}
不是一个
数组,而是一个
对象
声明,它的元素可以通过
allUserbase[k]访问。complex
allUserbase[k].'complex'].
,它们没有数字索引。

{name:usr.@name,state:usr.@state,

complex:usr.complex,image:usr.@image,link:usr.@link}
不是一个
数组
,而是一个
对象
声明,它的元素可以通过
allUserbase[k]访问。complex
allUserbase[k].'complex']
,它们没有数字索引。

以下是您想要的吗?:

var contentXml:XML =        
<content>
    <item image="John.jpg" name="John" state = "New Jersey" >
        <complex fid = "0"> mg749</complex>  
        <complex fid = "1"> ks749</complex>  
        <complex fid = "2"> ks678</complex>      
    </item>    
    <item image="Smith.jpg" name="Smith" state = "California">  
        <complex fid = "0"> we649</complex>  
        <complex fid = "1"> sd449</complex>  
        <complex fid = "2"> df459</complex>  
        <complex fid = "3"> hj569</complex>      
    </item>  
    <item image="Smith.jpg" name="Mike" state = "New York">  
        <complex fid = "0"> 8794</complex>  
        <complex fid = "1"> 4384</complex>     
    </item> 
</content>; 

var contentArray:Array = new Array();

for each(var item in contentXml.item)
{
    var itemArray:Array = new Array();
    itemArray.push(item.@image, item.@name, item.@state);

    contentArray.push(itemArray);

    for each(var complex in item.complex)
    {
        var complexArray:Array = new Array();
        complexArray.push(complex.@fid, complex);

        itemArray.push(complexArray);

    }// end for each

}// end for each

trace(contentXml.item[0].@image); // outputs: John.jpg
trace(contentArray[0][0]) // outputs: John.jpg

trace(contentXml.item[0].complex[0]); // outputs: mg749
trace(contentArray[0][3][1]) // outputs: mg749

以下内容是否符合您的要求

var contentXml:XML =        
<content>
    <item image="John.jpg" name="John" state = "New Jersey" >
        <complex fid = "0"> mg749</complex>  
        <complex fid = "1"> ks749</complex>  
        <complex fid = "2"> ks678</complex>      
    </item>    
    <item image="Smith.jpg" name="Smith" state = "California">  
        <complex fid = "0"> we649</complex>  
        <complex fid = "1"> sd449</complex>  
        <complex fid = "2"> df459</complex>  
        <complex fid = "3"> hj569</complex>      
    </item>  
    <item image="Smith.jpg" name="Mike" state = "New York">  
        <complex fid = "0"> 8794</complex>  
        <complex fid = "1"> 4384</complex>     
    </item> 
</content>; 

var contentArray:Array = new Array();

for each(var item in contentXml.item)
{
    var itemArray:Array = new Array();
    itemArray.push(item.@image, item.@name, item.@state);

    contentArray.push(itemArray);

    for each(var complex in item.complex)
    {
        var complexArray:Array = new Array();
        complexArray.push(complex.@fid, complex);

        itemArray.push(complexArray);

    }// end for each

}// end for each

trace(contentXml.item[0].@image); // outputs: John.jpg
trace(contentArray[0][0]) // outputs: John.jpg

trace(contentXml.item[0].complex[0]); // outputs: mg749
trace(contentArray[0][3][1]) // outputs: mg749

thnx用于回复。我如何通过创建二维数组lilke allUserbase[0][1]来访问compplex数据…有没有办法…thnx用于回复。我如何通过创建二维数组lilke allUserbase[0][1]来访问compplex数据…有办法吗..这是你三天来第三次问同样的问题吗?而且没有接受任何旧的答案吗?哦,是的,我知道我以前见过这个问题。@Mike and@Taurayi-是的,我没有得到答案,非常绝望,但非常感谢你的帮助..这是你三天来第三次问同样的问题吗?而且没有接受任何旧答案?哦,是的,我知道我以前见过这个问题。@Mike和@Taurayi-是的,我没有得到我的答案,非常绝望,但非常感谢你的帮助..嗨,Taurayi,非常感谢你的帮助..这很糟糕..我只是对一件事感到困惑,如果我问了一些愚蠢的问题,请原谅,但是我如何“跟踪”(contentXml.item[0].complex[2]);//输出:ks678跟踪(contentArray[0][3][1]);//输出:mg749如何从这里访问“ks678”…再次非常感谢您的帮助..@Taurayi..我也得到了这个,非常感谢..dictionary对象工作得很好..我还有一个问题,尽管我必须为此创建一个搜索函数,但我无法正确地处理复杂的问题,下面是我使用的代码:函数搜索(MouseeEvent):void{for(var n:int=0;nHi Taurayi,非常感谢您的帮助..这很糟糕..我只是对一件事感到困惑,如果我问了一些愚蠢的问题,请原谅,但是我如何“跟踪”(contentXml.item[0].complex[2]);//输出:ks678跟踪(contentArray[0][3][1]);//输出:mg749我如何从这里访问“ks678”…再次非常感谢您的帮助。@Taurayi..我也得到了这个,非常感谢..dictionary对象工作得非常好..我还有一个问题,尽管我必须为此创建一个搜索函数,但我无法正确处理复杂的问题,下面是我使用的代码:函数搜索(MouseEvent):void{for(var n:int=0;n