[ 来源:www.it55.com | 作者: | 时间:2007-07-12 | 收藏 | 推荐 ] 【大 中 小】
XML是一种标记语言,通常用于储存,组织和传输数据
XML文档主要由一系列的元素(elements)和属性(attributes)组成,看下面一个XML的例子:
Colin Moock
O''Reilly www.it55.com
这个例子就是由元素 BOOK, T99vLE, AUTHOR, PUBLISHER 组成的
在元素里就包含了一个属性:SALUTATION
这些元素怎么让浏览器解释是什么意思呢?它需要DTD,一套决定这些标记的意义的规则。(例如我们常听说的WML、SVG,它们都是XML,但对应不同的DTD)
XML与HTML想比要求格式更严格,格式要求:
* tags 一定要嵌套 (就是说有就一定要有)
* 一定要有一个根元素 (例如例子中的 BOOK)
* 开始部分要用XML声明标记 :
但是AS里面的XML不需要DTD(这就是我说FLASH里面用XML不难的原因,哈哈) sflj www.it55.com kg^&fgd
从我们面向对象的角度来看,我们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
it55.com
http://www.it55.com/
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: vd;k;l www.it55.com rdfg
mydocument.appendChild(newElement);
做一个叶节点方法类似:
newText = mydocument.createTextNode("XML is fun");
mydocument.firstChild.appendChild(newText);
更详尽的方法还是查阅AS字典吧.
(阅读次数:)