【问题标题】:How to convert XML to actionscript object如何将 XML 转换为 actionscript 对象
【发布时间】:2011-10-18 05:39:24
【问题描述】:

我有一个 xml 文件和同一个 xml 文件的 actionscript 类。

例如:xml文件

 <element name="Student">
    <element name="FirstName">
        <value>Sachin</value>
    </element>
</element>

as3 类:

学生身份

package generated {     
     public class Student{    

       public var firstName:FirstName = new FirstName();    
    }    
}

FirstName.as
package generated { 
     public class FirstName{
        public var value:String;
    }
}

现在,我想把上面的 xml 转换成 actionscript 对象。

有什么工具吗?

请帮忙......谢谢......:)

【问题讨论】:

    标签: xml actionscript-3 actionscript flex4


    【解决方案1】:

    我相信您的选择是:

    • 自己解析和反序列化,将您的 XML 映射到您自己的对象。
    • 使用库中的序列化器/反序列化器。
    • 转换为对象,使用 HTTPService。

    使用服务方法,Flex 可以将 XML 作为原生对象处理;但是,这不会映射到您键入的类。您也许可以遵循 Flex 远程服务的模式来正确映射到类定义,而无需输入管道。

    不完全是您所追求的,但此处已询问将 XML 转换为对象:Turn an XML string into an Object in Actionscript

    【讨论】:

      【解决方案2】:
      public var xmlFileName:String;
          private var urlL:URLLoader = new URLLoader();
          private var urlR:URLRequest;
          public var xml:XML = new XML();
          public var target_id:String= new String();
      
          public function loadXML(xmlS:String):void
          {
              xmlFileName = xmlS;
              urlR =  new URLRequest(xmlFileName);            
            //  urlL.addEventListener(ProgressEvent.PROGRESS, onProgressAction);
              urlL.addEventListener(Event.COMPLETE, onLoadedAction);
             // urlL.addEventListener(IOErrorEvent.IO_ERROR, errorAction);
              urlL.load(urlR);            
          }
          public function onLoadedAction(e:Event):void
          {
              xml = XML(e.target.data);
              target_id = xml.element.value[0];
              dispatchEvent ( new Event ( Event.COMPLETE ) )
              //trace(xml);
          }  
      

      //在你的 FirstName 类中

      private function init():void
      {
          xmlData = new loadXML("list.xml");
          // listen for loading completed
          xmlData.addEventListener ( Event.COMPLETE, handleXMLLoaded );
      }
      
      private function handleXMLLoaded (e:Event):void
      {
         var xmlF:XML = xmlData.xml
         var value:String = xmlData.target_id;
         //trace(xmlF); 
      }
      

      【讨论】:

      • 感谢.. 快速回复。但是,最后我希望通过 actionscript 类获取 xml 值。例如:我想通过 var value:String = firstName.value; 获得“Sachin”值
      • 我做了一些改变。就这样吧。
      猜你喜欢
      • 2011-06-23
      • 2014-07-07
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      相关资源
      最近更新 更多