主应用代码:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" creationComplete="initApp()"> <mx:Script> <!--[CDATA[ import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; private function initApp():void { //Initialize XML load service. sevBaseTable.send(); } // Load BaseTable.xml private function loadBaseTableHandler(event:ResultEvent):void { connManager.openConnection(dbConnection); createDbObj.createTableArray=event.result.tables.table; createDbObj.createDatabaseObjects(dbConnection); connManager.closeConnection(dbConnection); Debug.log("Load BaseTable.xml complete!"); } ]]--> </mx:Script> <mx:HTTPService id="sevBaseTable" url="data/BaseTable.xml" result="loadBaseTableHandler(event)"/> </mx:Application>
XML文件:
BaseTable.xml
<?xml version="1.0"?> <tables> <table> <name>TRP_USERS</name> <statement>CREATE TABLE IF NOT EXISTS TRP_USERS (USER_ID INTEGER PRIMARY KEY AUTOINCREMENT,USER_NAME TEXT,PASSWORD TEXT,CREATION_DATE DATE)</statement> </table> <tables>
运行时会报错:类似空方法的错误
调试结果:
在BaseTable.xml中
添加一个<table></table>节点,则不会再报错。
猜想:可能是当xml文件解析结果只有一个节点时无法识别ArrayCollection。
本文探讨了一段Flex代码中BaseTable.xml文件加载时出现的问题。该问题发生在仅有一个表格定义的情况下,通过添加额外的<table></table>标签解决了此问题。文章深入分析了可能的原因,并给出了具体的解决办法。
2340

被折叠的 条评论
为什么被折叠?



