zoukankan      html  css  js  c++  java
  • 【转】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>

  • 相关阅读:
    VBA宏-转载记录备份 2021年5月21日 星期五
    (记)利用Word发布文章到cnblogs博客
    赖氏经典英语语法—虚拟语气
    MFC进阶教程深入浅出版.笔记第5天
    MFC进阶教程深入浅出版.笔记第4天
    MFC进阶教程深入浅出版.笔记第3天
    MFC进阶教程深入浅出版.笔记第2天
    MFC进阶教程深入浅出版.笔记第1天
    介词7:during, through, besides, since…
    2.无人机无人车轨迹优化分类
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/1777906.html
Copyright © 2011-2022 走看看