AS3从xml创建多维数组
我想创建一个嵌套数组。这是我加载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})
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