将数据作为“xml”而不是对象传递

时间:2012-10-22 06:51:02

标签: actionscript-3

我试图在“xml”数据传递或“对象”数据传递之间进行选择。 (比如将数据与客户一起传递)。什么是有效的?

2 个答案:

答案 0 :(得分:1)

当您需要在两种不同技术之间传输数据时,XML是不错的选择,这些技术本身不支持相同的数据类型,因此您可以为每个技术“统一”数据。然后双方都可以解析XML并从中生成本机数据类型,以便处理(如果需要)。

Flash确实支持XML(动态XML和XMLList类),它甚至支持XML文字。

我认为您应该从以下条件中选择:

  • 如果您最初知道数据将包含哪些字段,例如 red, green字段,您知道这些字段不会更改。

您最好使用预定义的类结构。

  • 例如,如果您的数据会动态更改其字段 有时它只有red, green个字段,在某些情况下 red, green, blue

  • 如果您打算进一步将闪存应用程序与其他用户一起使用 技术/服务。

使用XML。

答案 1 :(得分:1)

除非真的必须使用XML,否则不要使用XML!

在向/从Flash应用程序传输数据时最好使用XML,但在内部使用它的速度非常慢:

就个人而言,我总是会使用向量,字典或结构类型的类来在内部传递数据,而不是XML!

http://jacksondunstan.com/articles/1187 (根据这个网站,慢几百倍!)

字典不能像对象那样内联声明,但是将对象用作键和值的能力确实很有用(更不用说弱引用) - 它可能需要一段时间才能看到原因,或者何时需要这个,但是一旦你这样做,你会明白为什么它如此方便!




NB有时候XML可能有用 - 我在具有“撤消/保存”功能的应用程序中使用它,作为描述其状态所需的(有时是整个)程序的一部分,或者从XML描述中配置自己。在这种情况下,它非常有用:

a)数据间歇性地发送到服务器或从中读取。由于数据已经是XML格式,因此无需转换。

b)它更具可读性,因为调试时也需要保存输出,因此值得牺牲一点速度。

c)用户只是不经常撤消/重做动作。稍微拖动几分之一秒并不重要,但如果您想优化代码,则不应使用它。

希望这有帮助