我有一个与服务器连接的flash项目。我从服务器获得的所有数据都是XML格式的原始表。所以我必须在客户端做服务器逻辑。(别问为什么!)
我已经寻找了一个框架或一些代码库,已经解决了这个问题。一个可以进行键映射的框架。基本上是一个框架,用于存储数据并处理数据检索,就像SQL一样。
Ie。我可以使用userid获取user,而无需遍历所有实例。当同一个表中有更多的id时,情况会变得更复杂。
那么flash有数据框架吗?
(如果更多的浏览器支持HTML 5 sqlLight,那就太好了)
E4x将允许您对XML运行一些相当复杂的查询。查看http://dispatchevent.org/roger/as3-e4x-rundown/
我觉得有必要指出你可能已经知道的一点——像这样发送表格是不安全的、浪费的,而且有点愚蠢。编辑:除非您确实需要swf中的所有数据,在这种情况下,这很好:)
我不认为有一个框架,所以你可能不得不自己构建它。您应该能够将所有行放在一个数组中,然后使用一个或多个Dictionary作为数据库索引。如:
trace(_data[_idIndex[100]]);
trace(_data[_nameIndex["jonatan"]]);
你所需要做的就是建立索引;
_nameIndex = new Dictionary();
_idIndex = new Dictionary();
for(var i:int = 0; i<_data.length; i++) {
_idIndex[_data[i].id] = i;
_nameIndex[_data[i].name] = i;
}
希望这对你有帮助!
编辑:对于非唯一标识符,您可能必须在字典中存储索引数组,而不是索引本身。您还可以存储对它正在索引的对象的直接引用,而不是它在_data-array中的位置。