Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用xml或excel数据下拉列表的表单?_Javascript_Xml_Ajax_Flash_Forms - Fatal编程技术网

Javascript 使用xml或excel数据下拉列表的表单?

Javascript 使用xml或excel数据下拉列表的表单?,javascript,xml,ajax,flash,forms,Javascript,Xml,Ajax,Flash,Forms,我想创建一个表单(flash或java/ajax),允许从xml文件中提取选择数据 例如: 戒指生成器应用程序-用户在一个下拉列表中选择戒指设置,然后在另一个下拉列表中选择钻石。但是钻石的价格每天都在根据市场变化,因此我们需要轻松地更新这些数据——因此需要一个xml或excel文件 如果数据可以链接,那就更好了——例如选择公主切割钻石,然后显示仅与公主切割兼容的设置,然后在选择设置后,仅显示适合设置大小的钻石 想法 谢谢 我认为JSON更适合这样的任务。假设您的数据存储在数据库中(而不是XML或

我想创建一个表单(flash或java/ajax),允许从xml文件中提取选择数据

例如:

戒指生成器应用程序-用户在一个下拉列表中选择戒指设置,然后在另一个下拉列表中选择钻石。但是钻石的价格每天都在根据市场变化,因此我们需要轻松地更新这些数据——因此需要一个xml或excel文件

如果数据可以链接,那就更好了——例如选择公主切割钻石,然后显示仅与公主切割兼容的设置,然后在选择设置后,仅显示适合设置大小的钻石

想法


谢谢

我认为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" } } //DataObject的一个基本示例,它可以存储从XML检索到的值 公共类数据对象 { 公共变量类型:数组=[“钻石”、“红宝石”等] 公共变量剪贴类型:数组=['Princess'、'Emerald'等…] } //可以使用几个类来构造菜单 公共类抽象宝石 { 受保护的变量_cutType:字符串; 受保护的变量设置:对象; 受保护变量大小:数组; } 公共级钻石宝石 { } 公共班机 { 公共功能Main() { //如果菜单调用公主切割钻石,则可以使用属性 //从XML设置以确定将调用哪些子菜单 var公主:AbstractGem=newdiamond(); 公主尺寸=[1.5,1.8,2.0,…,8.0]; 公主。cutType=“公主” } }
不幸的是,由于我们的平台,数据必须是外部的。我希望有一个xml或excel文件,这样我就可以让人们以清单格式将其上传。然后你应该选择xml,在加载xml后,解析它以创建一组数据对象,我发现这比直接从xml将数据获取到应用程序中要好。您可以根据应用程序的结构来构造对象,而不是绑定到XML格式。