我想发送一条 XML 消息,然后从服务器接收响应并对其进行解码。 那是我的类设计方法,我想知道那个东西的最佳设计。
class XMLRequest extends EventDispatcher
{
private var m_data:XML;
private var m_xmlString:String;
public function XMLRequest(){ m_data = null;}
public function setRequest(xmlString:String):Boolean
{
if(xmlString)
{
m_data = new XML(xmlString);
trace("Request --" + m_xmlString);
return true;
}
return false;
}
}
class XMLResponse extends EventDispatcher
{
private m_xmlString:String;
public function XMLResponse(){ m_data = null;}
public function getResponse(data:XML):String
{
if(data)
{
m_xmlString = data.toString();
trace("Repsonse --" + m_xmlString);
return m_xmlString;
}
return " ";
}
然后我将有一个发送和接收响应的客户端类。 这是一个好方法吗?
最佳答案
我建议使用像 adobe Loader 这样的类设计。另外,我建议使用原生类 XML 而不是 String
XMLLoader.as
package {
import flash.events.IEventDispatcher;
[Event(type="flash.events.Event", name="complete")]
public interface XMLLoader extends IEventDispatcher {
function load(requestXML:XML):void;
function getResponseXML():XML;
}
}
XMLLoaderTester.as
package {
import flash.display.Sprite;
import flash.events.Event;
public class XMLLoaderTester extends Sprite {
public function XMLLoaderTester() {
var loader:XMLLoader; //dont forget instantiate
loader.addEventListener(Event.COMPLETE, onResponse);
var requestXML:XML = <command>getData</command>;
loader.load(requestXML);
}
private function onResponse(event:Event):void {
var loader:XMLLoader = XMLLoader(event.target);
trace(loader.getResponseXML());
}
}
}
关于actionscript-3 - 在 Flash 中发送 XML 和接收响应的最佳类设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17611767/