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>

  • 相关阅读:
    mysql重复数据下,删除一条重复数据
    Mysql常用函数
    鼠标滑至某位置,在鼠标旁边出现详情弹窗div
    限制文本框只能输入正数,负数,小数
    JAVA中split对空串的影响。
    《JAVA与模式》之简单工厂模式 (转)
    linux 常用命令汇总
    《JAVA与模式》之责任链模式
    《JAVA与模式》之模板方法模式 (转)
    java 异常汇总
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/1777906.html
Copyright © 2011-2022 走看看