flash学习笔记(五)--关于XML知识【重点】

原创 2012年03月27日 10:42:13

第十三章 Flash和XML集成开发

1.        W3CDOM处理XML文档:

1>    新建XML文档xml.xml

2>    创建XMLDocument对象、解析文档:

import flash.xml.XMLDocument;

import flash.net.URLRequest;

import flash.display.Loader;

 

function xmlLoader(evt:Event):void{

var myDoc:XMLDocument = new XMLDocument();

myDoc.ignoreWhite= true;

myDoc.parseXML(myLoader.data);

varmyVar:String = myDoc.firstChild.firstChild.firstChild.firstChild.nodeValue;

trace(myVar);

}

 

var myXMLURL:URLRequest = newURLRequest("xml.xml");

var myLoader:URLLoader = newURLLoader(myXMLURL);

myLoader.addEventListener(Event.COMPLETE,xmlLoader);

2.        使用XMLNode对象处理XML文档:

注意:XMLNode是XMLDocument的基类,所以XMLNode的属性方法,后者同样可用!

1>    Attributes集合:返回一个包含指定节点所有属性的对象。

var str:String = "<area state =\"广东省\">广州</area>";

var doc1:XMLDocument = newXMLDocument(str);

var node:String =doc1.firstChild.attributes.state;

trace(node);

或者:

var attrs:Object =doc.firstChild.attributes;

for(var prop in attrs){

trace(prop+"="+attrs[prop]);

}

2>    childNodes集合:返回一个包含指定节点所有子节点的数组。

var node1:Array =doc1.firstChild.childNodes;

trace("3"+node1[0]);

3.        使用E4X处理XML:

1>用于实现E4X的AS类

var myXML:XML =

<list>

<area state="广东省">广州</area>

<area state="山东省">济南</area>

</list>;

 

trace(myXML.area[0].toXMLString());

2>创建XML对象和XMLList对象:

  vartagname:String = "area";

var attributename:String ="atate";

var attributevalue:String = "广东省";

var content:String = "广州";

 

var my:XML = <{tagname}{attributename}={attributevalue}>{content}</{tagname}>;

trace(my.toXMLString());

3>    外部加载和Document一样

4>    “.”子元素访问;  ”..”后代访问;  ”@”属性访问;  ”*”通配符

4.        修改XML结构

         myDoc.name[0].first= "1leverling";

对于命名空间:其实XML里的命名空间的作用与其它语言(如C#)中命名空间的作用差不多:为命名提供一个容器,只要在该容器中没有相同的命名就可以避免命名冲突。

5.        修改XML命名空间:

1>读取命名空间:

Xmlns:zhuozi=”heep://www.baidu.com”;

Var tableNs:Namespace = myXML.namespace(“zhuozi”);

2>增加/修改命名空间:

      myXML.addNamespace(newNS);

      myXML.table.setNamespace(newNS);

3>    QName:限定

6.        XMLSocket对象信息处理方法:

1>    当调用connect打开对服务器的TCP/IP连接并处于打开状态,直到一下情况之一发生!

XMLSocket对象close方法被调用

不再有XMLSocket对象参数存在

Flash Player退出

2>    XMLSocket与安全:

只能够连接到端口号大于或者等于1024的TCP端口。同样子域进行访问,或者跨域文件!

3>   网页资料:  

as3 socket 读写数据方法常用的有四个:readUTF, writeUTF, readUTFBytes, writeUTFBytesjavasocket 输入输出流常用BufferedReader DataOutputStream 包装, 以提高读写效率
:
    BufferedReaderreader = new BufferedReader(new InputStreamReader(socket.getInputStream(),    "UTF-8"));

    DataOutputStreamwriter = new DataOutputStream(socket.getOutputStream());

as3 方写数据时用writeUTFBytes 方法, 此时java 方读数据用reader.readLine()阻塞式方法.
as3
方写数据时用writeUTF方法, 此时java 方应改用DataInputStream 类包装输入流, 因为BufferedReader 不提供读取UTF数据的方法.
java
方写数据时用writeUTF方法, 此时as3 方读数据用readUTF方法, 但此种模式有个弊端, 就是如果java方连续调用了n(n >= 2)writeUTF方法,as3方因来不及读取, 则最后只是第一次写入的数据被读取.
java
方写数据时用writeBytes, 此时as3 方读数据用readUTFBytes方法读取数据, 可以这样读取: msg = socket.readUTFBytes(socket.bytesAvailable).

相关文章推荐

Java重点知识巩固学习笔记

新建Java项目,在项目基础上新建Java类,此时需要设置包名和要创建的类的名称。编写Java代码,单击运行按钮,选择Java应用程序选项运行代码。 Java中的类名,对象名,方法名,常量名和变量名统...

flash学习笔记(一)---基础知识入门

第一章 基础入门 1、  第一个小例子:先声明类才能代码自动提示。 importflash.display.MovieClip;   //stop(); varaction1:MovieCl...

mvc 学习笔记,重点难点记录

  • 2009年01月10日 10:35
  • 142KB
  • 下载

Android入门学习笔记(一)|基础知识|文件数据存储读取|解析XML

屏幕分辨率 HVGA:320×480 QVGA:240x320 WQVGA400:240X400 WQVAG432:240X432 WVGA800: 480X800 ...

超详细的java基础知识学习(java SE、javaEE)笔记 核心重点!

标识符 Java 的标识符是由字母、数字、下划线_、以及美元符$组成,但是首字母不可以是数字。Java 标识符大小写敏感,长度无限制,不能是 Java 中的关键字。命名规则:要见名知意! u  变...

jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: var rowdata=jQuery("#list").jqGrid('getRowData',num);...
  • jpr1990
  • jpr1990
  • 2011年10月20日 16:20
  • 44490

《大话数据结构》--学习笔记8 ***重点***

3.6.4  线性表链式存储结构代码描述 单链表中,我们在C语言中可用结构指针来描述 /*线性表的单链表存储结构*/ typedef struct Node { E...

jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解

特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqGrid('g...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:flash学习笔记(五)--关于XML知识【重点】
举报原因:
原因补充:

(最多只允许输入30个字)