注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> 网页设计 >> Flash >> 制作技巧 >> 网页设计正文

关于XML在FLASH交互应用中的理解

文章来源:中国IT实验室收集整理 作者:佚名 更新时间:2008-4-24 12:38:39 【 】 【加入收藏
  进入网络咨询平台

  关于XML在FLASH中的应用,以前写过几篇,也收集了几篇来自网络的。不过,都是一些非常简单而常用的。在这里,我把XML的其他相关说明总结一下。有不足之处,希望大家能相互补充。只为了一个共同的目的:共同提高。

一、书写标准的XML需要注意以下几点:
1、一个标准的XML文档必须要在第一行以"<?xml>"开头,以及一个"<?/>"结尾,其中开头部分需申明XML的版本,如:version="1.0",也应包含一个关于编码的声明:“encoding="utf-8"”;
2、XML要求所有的标签必须在文档结束之前被闭合,如果标签中包含内容,则必须写成“<标签名>内容</标签名>"的格式,如果内容为空,则应写在</标签名>的格式;即,后面必须有</XXX>这种格式的。
3、每个XML都有有一个根元素,也叫根节点。
4、节点有节点值和属性。
5、XML的节点值如果出现与XML标签关键字一样的字符,XML将会无法解析文档,比如,某个节点值如果是一个大于或者小于号,就会让解释器产生一个错误,

二、在FLASH中创建一个简单的实例:
//创建一个新的XML类实例
var my_XML:XML=new XML();
//创建一个TextArea组件,用于显示此XML内容
var my_TextArea:mx.controls.TextArea;
//加载外部XML文件
my_XML.load("my_xml.xml");
//为load函数定义onLoad函数---此处是必须的。只有当加载成功后,才能控制XML。否则不能。
my_XML.onLoad=function(ok:Boolean){
if(ok){
my_TextArea.text+=this;
}else{
my_TextArea.text+="加载失败..."
}
}
//勿略空白:
my_XML.ignoreWhite=true;

三、关于FLASH解析XML详解,说白了,也就是对节点的读取。首先,来看看这幅图,稍微加点印象。


下面,我将对XML文件的解析方面做详细的介绍。为了便于讲解,在此,我举一个简单的例子。
1、新建一个记事本文件,在里面输入如下内容:
<衬衣 颜色="白色" 品牌="雅戈尔">1件
<裤子 颜色="深蓝" 品牌="王子裤">2件
<鞋子 颜色="黑色" 品牌="红蜻蜓">3双
<总花费金额>
<打的费>50元
<货物金>1000元然后保存为"goods.xml",注意,在编码处,要选择"Unicode"。

  进入网络咨询平台



2、下面,就对里面的各项值进行解读。
读取整个XML文件的方法:在刚才的XML的同级目录下新建一FLA文件,然后在场景中放置一TextArea组件。并赋实例名“my_TextArea”,然后在第一帧中添加如下代码:
var my_XML:XML=new XML();
System.useCodepage=true;
var my_TextArea:mx.controls.TextArea;
my_XML.load("goods.xml")
my_XML.onLoad=function(ok:Boolean){
if(ok){
my_TextArea.text+=this;
}else{
my_TextArea.text+="加载失败"
}
}按CTRL+ENTER测试,即可以看效果。

首先,我们来看看如何对XML中的节点名称或者节点属性进行读取呢?比如,我们要读取如例子中的"购买物品"这几个字符,该如何操作呢?
我们使用如下语句:
this.firstChild.nodeName;
如果要读取"衬衣":
this.firstChild.childNodes[0].nodeName;
如果要读取"1条":
this.firstChild.childNodes[1].childNodes[0].nodeValue;
如果要读取裤子的品牌:
this.firstChild.childNodes[1].attributes.品牌;

将XML读取进LIST组件中:
System.useCodepage = true;
var my_TextArea:mx.controls.TextArea;
var my_List:mx.controls.List;
var my_XML:XML = new XML();
my_XML.ignoreWhite = true;
my_XML.load("shopping.xml");
my_XML.onLoad = function(ok:Boolean) {
  if (ok) {
    var childnodes = this.firstChild.childNodes;
    for (i=0; i<childnodes.length; i++) {
      my_List.addItem({label:childnodes.nodeName});
    }
  } else {
    my_TextArea.text += "加载失败";
  }
};第一个节点:firstChild:
用法:this.firstChild;
最后一个节点:lastChild

  进入网络咨询平台


用法:this.firstChild;
兄弟节点:nextSibling:
用法:this.firstChild.childNodes[0].nextSibling;
另一个兄弟节点:previousSibling:
用法:this.firstChild.childNodes[0].previousSibling;
区别:nextSibling是朝后,而previousSibling是当前之前;
父类节点:parentNode:
用法:this.firstChild.parentNode;

  • 上一篇网页设计:

  • 下一篇网页设计: 没有了
  • 最 新 热 门
     Flash AS 教程:交互动画
     Flash AS 教程:子类化显示对象
     Flash AS 教程:动画事件
     Flash AS 教程:帧循环
     Flash AS 教程:创建文档类(Document class)
     Flash AS 教程:构造函数(Constructor)
     Flash AS 教程:类和面向对象编程
     Flash游戏开发教程:第一节
     Flex程序开发心得小结
     关于XML在FLASH中的应用
    最 新 推 荐
     关于XML在FLASH交互应用中的理解
     flash中时间轴控制命令
     flash中容易忽视的一个小地方
     鼠标超链接上不停抖动的解决方法
     Flash进度条的制作个人详细讲解组图
     flash制作中涉及到的叠加问题
     全Flash动画网站的实现详细教程
     向网页中插入透明Flash的方法和技巧
     巧妙去除Flash动画在线播放限制
     将Photoshop创建的位图导入Flash MX
    相 关 文 章

    关于XML在FLASH中的应用
    Javascript教程:关于内存泄漏问题
    关于CSS 框架的论述
    关于XHTML的H1标记的位置
    网页设计中关于css框架网页设计
    CSS教程关于css框架网页设计
    Web标准:关于web标准的一些初学的知识
    CSS教程:关于H1的使用技巧
    CSS教程:关于文字溢出问题的研究
    JavaScript教程:关于时间格式转换

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用