flash学习笔记(五)--关于XML知识【重点】
第十三章 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,?writeUTFBytesjava的socket 输入输出流常用BufferedReader 和DataOutputStream 包装,以提高读写效率 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |