Как конвертировать XML в actionScript объект - PullRequest
1 голос
/ 18 октября 2011

У меня есть XML-файл и классы ActionScript для того же 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 ]

2 голосов
/ 18 октября 2011

Я считаю, что ваш выбор:

  • Анализируйте и десериализуйте себя, отображая ваш XML в ваши собственные объекты.
  • Использовать сериализатор / десериализатор из библиотеки.
  • В качестве объектов используйте HTTPService.

Используя методы обслуживания, Flex может обрабатывать XML как собственные объекты; однако, это не будет соответствовать набранным вами классам. Возможно, вы сможете следовать шаблонам сервисов удаленного взаимодействия Flex, чтобы правильно отображать определения классов без ввода данных в воздуховод.

Не совсем то, что вам нужно, но вопрос об превращении XML в объект был задан здесь: Превратить строку XML в Object в Actionscript

0 голосов
/ 18 октября 2011
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); 
}
...