| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
如何加入透明Flas
为新浪博客添加fl
[域名相关]      
flashget下载联盟
265联盟:“Flash
新易网络提供100M
龙太极/100m/asp/
无限网络提供50M 
霞光科技50M/Htm/
苏能科技100M/FTP

AS基础精典教程 第十三章 XML           

AS基础精典教程 第十三章 XML

作者:佚名 来源:闪吧 作者: 小角色闪客 更新:2007-1-13 20:47:50 错误报告 我要投稿

XML是一种标记语言,通常用于储存,组织和传输数据   
XML文档主要由一系列的元素(elements)和属性(attributes)组成,看下面一个XML的例子:   


Colin   Moock
O''Reilly

这个例子就是由元素   BOOK,   TITLE,   AUTHOR,   PUBLISHER   组成的   
在元素里就包含了一个属性:SALUTATION   
这些元素怎么让浏览器解释是什么意思呢?它需要DTD,一套决定这些标记的意义的规则。(例如我们常听说的WML、SVG,它们都是XML,但对应不同的DTD)   
XML与HTML想比要求格式更严格,格式要求:
*   tags   一定要嵌套   (就是说有就一定要有)
*   一定要有一个根元素   (例如例子中的   BOOK)
*   开始部分要用XML声明标记   :   
但是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.nbsp=   new   XML();   
这个对象是空的,我们通过appendChild,   par***ML,   和   load   三种方法来输入数据
当然我们也可以在定义的时候就输入数据:mydocument.nbsp=   new   XML(''

hello   world!

'');   
这时候我们的mydocument.有了一个叫P的子节点,P的叶节点是hello   world!
之后我们就可以访问这个XML对象了,firstChild这个XML属性指向第一个子节点,childNodes是XML对象的子对象,指向所有的子节点
mydocument.firstChild   //   Accesses   P
mydocument.childNodes�   //   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字典吧.



文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。