• 【转】Flex中利用SimpleXMLEncoder将对象(objects)转化为XML


    下面的例子展示了如何利用Flex的SimpleXMLEncoder类和encodeValue()事件将一组对象(objects)转为XML对象。

    下面是具体的例子以及源代码:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2008/03/04/converting-objects-to-xml-packets-using-the-simplexmlencoder-class-in-flex/ -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout="vertical"
            verticalAlign="middle"
            backgroundColor="white"
            creationComplete="init();">

        <mx:ArrayCollection id="arrColl">
            <mx:source>
                <mx:Array>
                    <mx:Object c1="1.A" c2="1.B" />
                    <mx:Object c1="2.A" c2="2.B" />
                    <mx:Object c1="3.A" c2="3.B" />
                    <mx:Object c1="4.A" c2="4.B" />
                    <mx:Object c1="5.A" c2="5.B" />
                    <mx:Object c1="6.A" c2="6.B" />
                </mx:Array>
            </mx:source>
        </mx:ArrayCollection>

        <mx:Script>
            <![CDATA[
                import mx.rpc.xml.SimpleXMLEncoder;
                import mx.utils.ObjectUtil;

                private function init():void {
                    var xml:XML = objectToXML(arrColl.source);
                    textArea1.text = ObjectUtil.toString(arrColl.source);
                    textArea2.text = xml.toXMLString();
                }

                private function objectToXML(obj:Object):XML {
                    var qName:QName = new QName("root");
                    var xmlDocument:XMLDocument = new XMLDocument();
                    var simpleXMLEncoder:SimpleXMLEncoder = new SimpleXMLEncoder(xmlDocument);
                    var xmlNode:XMLNode = simpleXMLEncoder.encodeValue(obj, qName, xmlDocument);
                    var xml:XML = new XML(xmlDocument.toString());
                    // trace(xml.toXMLString());
                    return xml;
                }
            ]]>
        </mx:Script>

        <mx:HDividedBox width="100%" height="100%">
            <mx:TextArea id="textArea1"
                    editable="false"
                    width="100%"
                    height="100%" />
            <mx:TextArea id="textArea2"
                    editable="false"
                    width="100%"
                    height="100%" />
        </mx:HDividedBox>

    </mx:Application>

  • 相关阅读:
    《linux/unix设计思想》读后感
    webserver ZooKeeper Cluster
    OS + RedHat 6.3 x64 / sshd X11 /
    nGrinder SocketTest.groovy
    OS + Centos7.6 gdm / xmanager xstart
    OS + CentOS 7 / VirtualBox 6.0 / VMware-Workstation-Full-15.1.0
    浅谈MySQL Replication(复制)基本原理
    MySQL存储引擎比较
    explain SQL语句性能检测
    看看JavaScript中void(0)的含义
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/1777906.html
Copyright © 2020-2023  润新知