您的位置: 首页 > 技术文档 > 多媒体制作 > Moock在FF2K1大会上的演说
FLV MetaData Injector 回到列表 Macromedia Breeze 快速安装
 Moock在FF2K1大会上的演说

作者:chocobo 时间: 2004-04-27 文档类型:翻译 来自:蓝色理想

第 1 页 由O开始
第 2 页 基础、解读、还有一些概念
第 3 页 开始第一个版本的选择题的制作
第 4 页 再来补充一点AS知识
第 5 页 可以重复的函数
第 6 页 第二个版本选择题的制作
第 7 页 数组(arrays)
第 8 页 第三个版本的选择题
第 9 页 一点面向对象编程知识
第 10 页 第四个版本的选择题
第 11 页 XML
第 12 页 最后一个版本选择题

XML,名字是不是很COOL啊,其实,FLASH里面用XML不难(其他地方的应用就……所以千万别说XML不难,是FLASH里面用不难),呵呵,好吧,开始吧。

十三章:XML

XML是一种标记语言,通常用于储存,组织和传输数据

XML文档主要由一系列的元素(elements)和属性(attributes)组成,看下面一个XML的例子:

<BOOK>
<TITLE>ActionScript: The Definitive Guide</TITLE>
<AUTHOR SALUTATION="Mr.">Colin Moock</AUTHOR>
<PUBLISHER>O'Reilly</PUBLISHER>
</BOOK>

这个例子就是由元素 BOOK, TITLE, AUTHOR, PUBLISHER 组成的

在元素<AUTHOR SALUTATION="Mr.">里就包含了一个属性:SALUTATION

这些元素怎么让浏览器解释是什么意思呢?它需要DTD,一套决定这些标记的意义的规则。(例如我们常听说的WML、SVG,它们都是XML,但对应不同的DTD)

XML与HTML想比要求格式更严格,格式要求:
* tags 一定要嵌套 (就是说有<book>就一定要有</book>)
* 一定要有一个根元素 (例如例子中的 BOOK)
* 开始部分要用XML声明标记 :<?xml version="1.0"?>

但是AS里面的XML不需要DTD(这就是我说FLASH里面用XML不难的原因,哈哈)

从我们面向对象的角度来看,我们XML的内容可以当做为对象,下图就是我们建立XML对象的层次结构

点击查看大图

FLASH已经内建有XML类让我们可以定义自己的XML对象,同时XML对象还有很多方法。

我们还是更进一步用例子分析吧,如果我们建立了如上图的XML对象,那么FLASH首先会自动建立一个元素DOCUMENT,下面才是我们自己的元素。

本来是第一个元素的BOOK成为了DOCUMENT的第一个节点(node),不过我们把它继续当我们XML数据的根也无妨

当一个节点包含于另一个节点时,这个节点称为另一节点的子节点(child),反之另一节点称为其的父节点(parent)

例子中BOOK就是DOCUMENT的child,DOCUMENT就是BOOK的parent

再看图,BOOK有7个子节点,是不是和你想象不同?多了四个节点#text,因为FLASH把标记之间的空格和回车也读成一个节点了。

几个子节点的关系成为兄弟(siblings),如果要找AUTHOR的下一个兄弟(next sibling),FLASH就会给你找来#text

这可不是我们想要的,解决的方法
* 直接在XML里面把空格回车都删除掉,就是说一个TAG紧挨着一个
* 用AS把无用的子节点删除
* 在FLASH读入XML源数据之前,将该XML对象的一个属性ignoreWhite设置为true,但是该属性只在R41版本的PLAYER生效(注:网上可以更新的版本为R41,但是随FLASH附带的FLASHPLAYER的版本是R30)

再回到我们的例图,三个子节点下面还有子节点,最尾的节点也可以叫叶节点。

但是图里面还有个东西我们没找到,就是AUTHOR的属性SALUTATION,属性不是该节点的子节点,要访问我们属性,要用XML.attributes

概念先说这么多,现在看看我们怎么把XML源程序输入进FLASH

首先定义一个新的XML对象了:
myDocument = new XML();
这个对象是空的,我们通过appendChild, parseXML, 和 load 三种方法来输入数据
当然我们也可以在定义的时候就输入数据:
myDocument = new XML('<P>hello world!</P>');
这时候我们的myDocument就有了一个叫P的子节点,P的叶节点是hello world!
之后我们就可以访问这个XML对象了,firstChild这个XML属性指向第一个子节点,childNodes是XML对象的子对象,指向所有的子节点
myDocument.firstChild // Accesses P
myDocument.childNodes[0] // Also accesses P 两个AS语句指向的都是节点P

要访问叶节点的内容需要属性nodeValue
我们要显示P节点的子节点的内容,就要写成:
trace(myDocument.firstChild.firstChild.nodeValue);
要给它赋值:
myDocument.firstChild.firstChild.nodeValue = "goodbye cruel world";
要删除P节点,用方法removeNode:
myDocument.firstChild.removeNode();
新建一个节点叫P,用方法createElement创建元素:
newElement = myDocument.createElement("P");
再将该元素加进去作为一个节点,用方法appendChild:
myDocument.appendChild(newElement);

做一个叶节点方法类似:
newText = myDocument.createTextNode("XML is fun");
myDocument.firstChild.appendChild(newText);


更详尽的方法还是查阅AS字典吧

出处:蓝色理想
责任编辑:qhwa

上一页 第四个版本的选择题 下一页 最后一个版本选择题

◎进入论坛Flash专栏版块参加讨论

相关文章 更多相关链接
Flash 酷站猎手
中文ID3乱码问题MX解决方案
用AS2解决中文ID3的乱码
Flash常用效果-移动模糊效果
Flash MX 2005 制作环境预览
作者文章
Moock在FF2K1大会上的演说
制造像素字体,FLASH MX2K4?
flash mx 2004的項目管理
原 Blueidea 首页调查彻底解析
Royale,為程序員設計的FLASH?
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule
>> 分页 首页 前页 后页 尾页 页次:11/121个记录/页 转到 页 共12个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2