ActionScript 3.0中如何解析XML节点和对象的例子
By Minidxer | August 31, 2008
接下来的例子演示了ActionScript 3.0中如何解析XML节点和对象。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application name="XML_parser_test"
- xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="horizontal"
- verticalAlign="middle"
- backgroundColor="white"
- initialize="init();">
- <mx:Script>
- <![CDATA[
- import mx.rpc.xml.SimpleXMLDecoder;
- import mx.utils.ObjectUtil;
- private function init():void {
- var obj:Object = xmlToObject(xmlDP);
- txtXML.text = xmlDP.toXMLString();
- txtObject.text = ObjectUtil.toString(obj);
- lblXML.text = xmlDP.entry.child('font-family').text();
- lblObject.text = String(obj.root.entry["font-family"]);
- }
- private function xmlToObject(value:XML):Object {
- var xmlStr:String = value.toXMLString();
- var xmlDoc:XMLDocument = new XMLDocument(xmlStr);
- var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);
- var resultObj:Object = decoder.decodeXML(xmlDoc);
- return resultObj;
- }
- ]]>
- </mx:Script>
- <mx:XML id="xmlDP">
- <root>
- <entry>
- <font-family>Arial</font-family>
- <font-size>12</font-size>
- <font-weight>normal</font-weight>
- <text-decoration>underline</text-decoration>
- <text>Hello world!</text>
- </entry>
- </root>
- </mx:XML>
- <mx:Panel id="xmlPanel">
- <mx:Text id="txtXML" />
- <mx:ControlBar>
- <mx:Label text="font-family:" />
- <mx:Label id="lblXML" />
- </mx:ControlBar>
- </mx:Panel>
- <mx:Panel id="objPanel" height="{xmlPanel.height}">
- <mx:Text id="txtObject" />
- <mx:ControlBar>
- <mx:Label text="font-family:" />
- <mx:Label id="lblObject" />
- </mx:ControlBar>
- </mx:Panel>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Flex |
No Comments » |
Tags: object, SimpleXMLDecoder, toXMLString(), XML, XMLDocument