国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Flex > 正文

使用asx3m與xstream配合解決flex與java利用httpservice傳遞xml數據問題

2024-09-12 17:51:04
字體:
來源:轉載
供稿:網友
后端也存在java user object類,利用xstream組件把list中的user對象序列化成xml數據。在flex端通過httpservice使用E4X format格式獲取。
剛開始自己準備通過e4x技術來解析xml,構造flex user object,類似這樣的處理方式:
復制代碼 代碼如下:

public function fromXML(currentNode:XML):void{
userID = new Number(currentNode.userID);
userName = currentNode.userName;
......
}

不過這種方式太過于繁瑣。于是想自己利用flex reflect來實現一個通用的convert或者說類似xstream這樣的組件。
當然,首先是去google一把,還真找到兩個,一個是XMLConverter (http://www.customware.net/repository/display/FLEX/Integrating+Flex+with+XML+using+XMLConverter),一個就是完全兼容xtream的 asx3m (http://code.google.com/p/asx3m/)。
XMLConverter簡單,不過不是開源的,對于解析單個對象的xml格式,還是夠的,但是對于解析復雜的包含list結構的,就愛莫能助了。最終還是采用了asx3m,很方便。―― 唯一不爽的就是,asx3m竟然需要依賴VEGAS(http://vegas.googlecode.com/svn/AS3/trunk/src/vegas/)這個龐然大物(其實其只需要hashmap, list等幾個輔助類)
使用asx3m確實很方便,兩端代碼也很簡易,如下:
服務器端的java代碼:
List<WorkItem> users = um.queryUsers(1);  
XStream xstream = new XStream();  
xstream.alias("User", User.class);  
String xml = xstream.toXML(users); 
List<WorkItem> users = um.queryUsers(1);
XStream xstream = new XStream();
xstream.alias("User", User.class);
String xml = xstream.toXML(users);
Flex端的as代碼:
import hr.binaria.asx3m.Asx3m;  
import hr.binaria.asx3m.Asx3mer;  
var xmlc:Asx3mer = Asx3mer.instance;  
xmlc.xstream.alias("User", User);  
//這個array中就是user對象列表  
var array:ArrayCollection = xmlc.fromXML( compXML ) as ArrayCollection; 
import hr.binaria.asx3m.Asx3m;
import hr.binaria.asx3m.Asx3mer;
var xmlc:Asx3mer = Asx3mer.instance;
xmlc.xstream.alias("User", User);
//這個array中就是user對象列表
var array:ArrayCollection = xmlc.fromXML( compXML ) as ArrayCollection;
就這么簡單。―― 當然,這種方式,需要在兩端維護兩套對象結構(java object)和(as object),但其擴展性和靈活度要比那種AMF的remoteobject的方式高很多。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉沽区| 霍邱县| 黔西县| 德州市| 平塘县| 曲松县| 洮南市| 漳浦县| 峡江县| 开阳县| 方正县| 巢湖市| 伊宁县| 夏邑县| 潮安县| 海丰县| 弥勒县| 桑日县| 双柏县| 抚松县| 且末县| 尼玛县| 肇东市| 德清县| 霍州市| 巴东县| 池州市| 景德镇市| 宣城市| 融水| 赣榆县| 孟津县| 泰顺县| 南部县| 高安市| 韩城市| 运城市| 扬州市| 乌什县| 邛崃市| 贵溪市|