我們只是在我工作的地方構建了一個相當複雜的XML編輯器,而且我的第一個建議是,如果您可以避免這種情況,不要直接使用XMLListCollection,而是儘量使用FLEX創建的方法。 Flex的XMLListCollection是XMLListAdapter的一個容器,儘管它確實有效,但如果使用XMLList的父節點並使用本機XML函數,則會更好。如果你試圖重複他們的努力,這是漫長的和噩夢。
這就是說: XMLListCollection是你的朋友,但如果你有很多的數據綁定,請確保你有多個圖層。我們最初總是使用來自XML文檔根目錄的ex4搜索,這耗費了我們大量的時間和精力。我們意識到我們可以將它分成三個子列表,每個編輯都快得多。
至於實際的用戶界面,好吧,有很多方法可以做到這一點,這取決於你的XML的整體結構。
如果您有多個的項目列表,你可以想一些在此舉例代碼一起使用樹組件:http://livedocs.adobe.com/flex/3/html/help.html?content=about_dataproviders_6.html
在另一方面,如果只有一個itemList中,那麼我將有一個簡單的名單。這將允許您拖動項目並重新排序。如果你使用了labelFunction,你可以讓它返回item的@id。你可以添加一個TextField和一個提交按鈕來添加節點。也許是一個額外的刪除按鈕,但它不會那麼難。
取消編輯會非常容易 - 只需等到「提交」已被命中,然後再實際將更改提交到XML。