点击这里浏览Flash教程栏目关于XML在FLASH中的应用,以前写过几篇。也收集了几篇来自网络的。不过,都是一些非常简单而常用的。在这里,我把XML的其他相关说明总结一下。有不足之处,希望大家能相互补充。只为了一个共同的目的:共同提高。
一、书写标准的XML需要注意以下几点:
一个标准的XML文档必须要在第一行以""开头,以及一个""结尾,其中开头部分需申明XML的版本,如:version="1.0",也应包含一个关于编码的声明:“encoding="utf-8"”; XML要求所有的标签必须在文档结束之前被闭合,如果标签中包含内容,则必须写成“<标签名>内容"的格式,如果内容为空,则应写在的'格式;即,后面必须有这种格式的。 每个XML都有有一个根元素,也叫根节点。 节点有节点值和属性。 XML的节点值如果出现与XML标签关键字一样的字符,XML将会无法解析文档,比如,某个节点值如果是一个大于或者小于号,就会让解释器产生一个错误。
二、在FLASH中创建一个简单的实例:
//创建一个新的XML类实例
var my_XML:XML=new XML();
//创建一个TextArea组件,用于显示此XML内容
var my_TextArea:Area;
//加载外部XML文件
my_("my_");
//为load函数定义onLoad函数---此处是必须的。只有当加载成功后,才能控制XML。否则不能。
my_ad=function(ok:Boolean){
if(ok){
my_ =this;
}else{
my_ ="加载失败..."
}
}
//忽略空白:
my_reWhite=true;
三、关于FLASH解析XML详解,说白了,也就是对节点的读取。
首先,来看看这幅图,稍微加点印象。
下面,我将对XML文件的解析方面做详细的介绍。
为了便于讲解,在此,我举一个简单的例子。
1、新建一个记事本文件,在里面输入如下内容:
<购买物品>
<衬衣>1件
<裤子>2件
<鞋子>3双
<总花费金额>
<打的费>50元
<货物金>1000元
然后保存为"",注意,在编码处,要选择"Unicode"。
2、下面,就对里面的各项值进行解读。
读取整个XML文件的方法:
在刚才的XML的同级目录下新建一FLA文件,然后在场景中放置一TextArea组件。并赋实例名“my_TextArea”,
然后在第一帧中添加如下代码:
var my_XML:XML=new XML();
odepage=true;
var my_TextArea:Area;
my_("")
my_ad=function(ok:Boolean){
if(ok){
my_ =this;
}else{
my_ ="加载失败"
}
}
按CTRL ENTER测试,即可以看效果。
首先,我们来看看如何对XML中的节点名称或者节点属性进行读取呢?
比如,我们要读取如例子中的"购买物品"这几个字符,该如何操作呢?
我们使用如下语句:
Name;
如果要读取"衬衣":
dNodes[0]Name;
如果要读取"1条":
dNodes[1]dNodes[0]Value;
如果要读取裤子的品牌:
dNodes[1]ibutes.品牌;
将XML读取进LIST组件中:
odepage = true;
var my_TextArea:Area;
var my_List:;
var my_XML:XML = new XML();
my_reWhite = true;
my_("");
my_ad = function(ok:Boolean) {
if (ok) {
var childnodes = dNodes;
for (i=0; i<th; i ) {
my_tem({label:Name});
}
} else {
my_ = "加载失败";
}
};
第一个节点:firstChild:
用法:tChild;
最后一个节点:lastChild
用法:tChild;
兄弟节点:nextSibling:
用法:dNodes[0]Sibling;
另一个兄弟节点:previousSibling:
用法:dNodes[0]iousSibling;
区别:nextSibling是朝后,而previousSibling是当前之前;
父类节点:parentNode:
用法:ntNode;