2011-10-18 19 views
1

我對同一個xml文件有一個xml文件和動作類。如何將XML轉換爲動作對象

例如:XML文件

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

AS3類:

Student.as

package generated {  
    public class Student{  

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

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

現在,我想上面的XML轉換爲ActionScript對象。

有沒有工具?

請幫助......謝謝... :)

回答

2

我相信你的選擇是:

  • 解析和反序列化自己,將XML映射到自己的對象。
  • 使用庫中的串行器/解串器。
  • 作爲對象投射,請使用HTTPService。

使用服務方法,Flex可以將XML作爲本機對象來處理;但是,這不會映射到您鍵入的類。您可能能夠遵循Flex遠程服務的模式來正確映射到類定義而無需輸入風管。

不太你以後,但轉向XML的一個對象已經被要求在這裏:Turn an XML string into an Object in Actionscript

0
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); 
    } 

//和您的名字類

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); 
} 
+0

謝謝..快速回復。但是,最後我想通過動作類來獲得xml值。例如:我想通過var value的「Sachin」值:String = firstName.value; –

+0

我做了一些改變。與那個。 – Benny