我想创建一个表单(flash或java / ajax),允许从xml文件中提取选择数据。
示例:
戒指构建器应用程序 - 用户在一个下拉列表中选择戒指设置,然后在另一个下拉列表中选择钻石。但是钻石的价格每天都会根据市场而变化,所以我们需要轻松更新这些数据 - 因此需要xml或excel文件。
如果可以链接数据会更好 - 例如选择公主方形切割钻石,然后只显示与公主切割兼容的设置,然后在选择设置后,只选择尺寸合适的钻石为设置节目。
思想?
谢谢!
答案 0 :(得分:0)
我认为JSON更适合这样的任务。假设您的数据存储在数据库(而不是XML或Excel文件)中,您可以使用PHP或任何服务器端语言来返回一组对象,将它们编码为JSON字符串并将此信息传递给Flash或JS。解码Flash(或Javascript)中的JSON字符串将返回要在客户端管理的对象集。
这些对象基本上就是您的菜单可以查询的数据集。
实际上,当用户启动您的应用程序时,您只需要一次服务器调用即可获得所有必需的数据,然后这些数据就可以成为该特定会话的数据集。您的数据库当然可以根据需要随时更新。
至于数据对象的一般结构,请尝试将数据分开关注,我建议避免将事物捆绑在一起,以保持应用程序的灵活性。您可能从一开始就没有提出最佳结构,所以您要在菜单布局中进行更改,例如,您仍然可以重复使用大部分代码。
//A basic example of DataObject that could store the values retrieved from the XML public class DataObject { public var gemTypes:Array = ["Diamond" , "Ruby" , etc...] public var cutTypes:Array = ['Princess' , 'Emerald', etc...] } //A couple of classes you could use to structure your menu public class AbstractGem { protected var _cutType:String; protected var _settings:Object; protected var _sizes:Array; } public class Diamond extends AbstractGem { } public class Main { public function Main() { //if a menu calls the princess cut diamond, you can use the properties //set from the XML to determine what submenus will be called var princess:AbstractGem = new Diamond(); princess.sizes = [1.5 , 1.8 , 2.0 , ......, 8.0]; princess.cutType = "Princess" } }