我有一个非常大的XML文件,它有40000个数据,当我尝试使用Actionscript3加载XML,然后将数据填充到数组中时, 我收到以下错误:
脚本的执行时间超过了15秒的默认超时时间。
有没有办法绕过这个超时问题? 这是示例XML
<Map>
<Data>0</Data>
<Data>1</Data>
<Data>2</Data>
<Data>3</Data>
// continue for many many times
<Data>39999</Data>
</Map>
换行符似乎在for循环中。 代码就像这样
var aNumberArray:Array = new Array( 200 * 200 );
var nRowIndex:int = 0;
for ( ; 200 > nRowIndex; ++nRowIndex ) {
var nColumnIndex:int = 0;
for ( ; 200 > nColumnIndex; ++nColumnIndex ) {
var nIndex:int = nColumnIndex + nRowIndex * 200;
// assume cXMLMap is already a pre read XML class
aNumberArray[ nIndex ] = new int( cXMLMap.Data[ nIndex ] );
}
}
我怀疑cXMLMap.Data[ nIndex ]
花了很多时间从XML获取变量。
请指教。
答案 0 :(得分:0)
我找到了答案, 我需要将XML的格式更改为如下所示
// given a data set of 200 X 200 fields
<Map>
<Data>00 10 20 30 40 ..... 1990</Data>
<Data>00 11 21 31 41 ..... 1991</Data>
// repeat until reach 200 times
<Data>2000 2001 2002 2003 2004 ..... 199200</Data>
</Map>
这将减少XML解析持续时间,但是,我需要编写代码来对actionscript3中的字符串进行标记化。