XML 与 Flash5

作者:FXE 来源:网页制作俱乐部 添加时间:2006-5-21 9:52:35
 1995年Flash问世,最初它在互联网上只作于简单的动画设计,经过Macromedia的扶持,它已经发展成为了可制作丰富的图形及交互的站点的强而有力的工具了。在1999年,在Flash5身上许多创建图形的运用以及函数的功能得以全面的改善,而其中在与其它技术的联合运用上的改良则是更为的有价值。在下面,我们将介绍一些Flash与其它技术联合使用创建可更新的动态站点的技术,主要的是介绍与XML的配合,当然,我们还将顺便连带介绍一些与服务器端相关的诸如PHP、ASP等结合的知识。

利用程序可以很容易的更新你的Flash网站,在Flash运行的时候信息会跟随着动态的变化,而你可以在Flash中利用这些信息创建你自己的独特设置。我们有许多的方法来更新Flash的站点而无需直接通过Flash变更,通过与其它技术的联合是既简单而又快捷方便的。我们可以通过导入.txt文本文件、XML文件甚至可以利用服务器端脚本语言直接从数据库抽取数据。(注意:本文后面提及的XML皆是与Flash的结合而不是在其它的环境或是平台上,与其它运行环境相比,XML在Flash里几乎没有多少的区别。)

简要目录:
1、  什么是XML
2、  为什么要使用XML
3、  XML适应范围
4、  提炼XML
5、  Flash中使用XML的局限
6、  数据结构
7、  XML执行

1、什么是XML?
XML是一种可以扩展的数据描述语言,它可以让你自由的定义自己的数据结构,甚至比其它的一些语言(如PHP,C++等)更为的方便与有效。

2、为什么及何时运用XML?
或许你会问,当HTML早已广泛运用于网页数据交换时我们又何需去用XML呢?其实XML与HTML是有着相当差别的。一个HTML文件只能包含一些固定的HTML标记(大概一共也不过70个左右),而一个XML文件可以包含任何自由的标记组织信息,我们能用自己的标记来创建自己特殊的数据结构。一个共用的数据结构总是用来描述一类的数据信息。
判定什么时候运用XML确实是一个比较难以回复的问题,XML是一种与平台无关的语言,你可以将XML运用于任何的操作平台,诸如Microsoft的平台(NT)、Linux或是Apple平台,这就意味着XML可以进行不同平台之间的数据交换。

接下来的一对方案讲述了XML为什么是一种好的选择方式:

在不同的平台进行独立的数据交换
在一些需要在不同平台上进行数据交换的场所我们可以运用XML来达到计算机之间的数据传递,利用XML制作的网页能够使得这些信息被收接而不管这些信息在哪种位置,这对于全球化的企业与客户等众多方面的数据传输是有着相当大的好处的。

共众化的数据结构信息系统
为那些时常需要进行数据接收与更新的信息创建一种公共的数据结构将极大增强企业、商业及个人之间的交互性,所有这些企业、商业及个人都将因为这种数据结构而深受影响,他们能够在任何的平台或是他们需要的方面将XML转换成他们需要的信息。

尽管如此,XML却也并非是最好的选择而一定要引入到Flash之中的,根据运用的要求或许有更快更有效的方法来实现它们。

这里有几点当我决定使用XML时在我的脑海里已经形成的想法:
1、如果能够通过一种简单的交替加入法而实现的而并非一定需要转成XML格式的,那么,请直接利用Flash去完成而不要将它们转成XML格式。
2、如果你的数据需要在不同的平台或是将采用不同的方式进行调用的,那么XML或许是一种比较好的选择。仔细想想以后的建设及可能的运用,将你的数据转化成XML格式将使你以后的操作变得简单而轻松。
3、用XML描述的数据是极具规则也是非常容易及能够被快速修改的,XML的一大特点即:它具有极强的可读性,能够被其他人快速的理解。
当然XML对于其它方面可能也是很好的选择,但是以上几点是我在使用Flash时最为通用的规则。

XML的可选择性
有一些情况可以在Flash中选择使用XML,而在这些情况中它将改编你的应用程序使得它们更快,更通畅。不过得先确定这种方法是一种比其它方式更为正确的选择,否则,你或许可以找到其它另外的方式来使得你的应用程序更为的稳定与快速。
例如其它的一些选择:
1、你可以导入.txt的文本文件
2、通过例如name=Value&name1=value1…的方式来联接包含数据信息
3、用服务器端的程序语言(ASP、PHP等)从数据库中直接调用信息
4、运用HTML以及JavaScript来与Flash结合使用
你需要作以考虑与决定哪一种方式更适合你当前的应用程序,我们可以从速度、性能及数据的准确和有效性来评测。举例说明:如果你每天都有大量的数据信息需要更新,或许可以运用.txt文件来进行维护,.txt文件的被导入速度将要比XML的快出许多。
XML文件信息需要被下载与解析以后才能被Flash所运用,而一个比较大的XML文档将会使会拖垮你的应用程序,在服务器上从一个.txt文件中导入同样的信息将是快速而可以被容忍的。
XML与Flash的合并使用严格说起来更像是场灾难,由于Flash的XML解析器对于XML的支持性有较大限制,所以,为了Flash应用解析器能够解析XML文件,XML文件必须进行修正,而同样的原因,这也就造成了拖慢程序的运行速度。
由于Flash的XML解析器的漏洞,在Flash中通常就用其它的方式来进行数据的交换了。

  精炼XML

不过在一些方面在Flsah中使用XML比起其它方式仍有着巨大的益处的,不过你总得想着考虑一些方法去“精炼”它们,如:数据装载、服务装载、每日最新信息及效率和其它等。

下面通过一个简单的例子来阐述如何提高它们的速度与效率:
如果你是一名商务综合信息管理员,你的站点每隔一两天都会有诸多的信息需要更新,为了更新你的站点,你把信息加入到数据库的后端接口上,那么每一次浏览你的页面时,Flash调用一PHP页面,而PHP页面可以从数据库中读取数据并将它们返回成Flash能够接收的通用的XML格式。
如果这些信息每天都有非常大的访问量,每次点击这些信息Flash都将从被格式化成XML的数据文档中接收数据。如果你也提供HTML版本的网点的话,XML将被Flash解析成一种通用的格式,而利用PHP代码就可以将数据库的数据转化成Flash与HTML都可以接收的版本,然后XML在Flash中被修改成能被用户阅读的形式。当Flash接收这些XML数据信息之前必须去除那些“空格”部分,由于Flash的XML解析器不认“空格”,如果在XML数据信息的目录树中有空白部分,那么在Flash中数据显示样式将会是一团糟的。
我们现在将讨论一些改进的方法,这些方法将加快数据从服务器上装载的进程进行使其更为的高效。 
注意:这个例只是为了说明XML与Flsah的结合运用,或许有其它更好的方法来解决这些问题。
一个主要的改进是利用PHP页面对数据信息的处理,当你每次更新完数据以后利用PHP在服务器上创建一个.XML的文件,这种方式将保证数据的可用性。
如果数据库离开了PHP(当然还有其它服务器端程序的可能性),那要想要从服务器上获取是几乎不可能的,尤其是你每分钟超过3000次以上的点机率时。它也仅仅只是一种资源方式用来连接服务器与数据库。
  Flash将读取这个去除了空格的具有能用性的XML文件,你可以考虑去使用除节点以后的其它属性,不过XML文件节点数越多就意味着Flash需要花更多的时间去解析它,而做同样的事情PHP页面的解析工作将比Flash快出好多倍。
如果你在其它地方想使用这个XML数据结构,那么PHP的代码又是极其容易被编辑修改的,就是存在这种优势,所以同样的数据库的数据能够被输出成你需要的各种各样的不同的版本。
这样的改进将大大提高网站的承受能力,减轻服务端与客户端的负担,改善其速度、效率及正确性。

下一页>>
站内搜索