Вот несколько вещей, которые неправильно поняли с вашей стороны:
<root><colors>{collection}</colors></root>
вы, вероятно, ожидаете, что это свяжет collection
с дочерним узлом <colors/>
узла, в то время как то, что он делает, это подстановка строки E4X,поэтому здесь не создается привязка.
var xml:XML = new XML(<color><value></value></color>);
действительно должно быть:
var xml:XML = <color><value/></color>;
XML имеет специальный литеральный синтаксис в AS3, то, что вы использовали для создания нового XML, уже является XML,по сути, вы сделали это дважды.Узлы, не имеющие текстового значения, нормализуются, чтобы быть короче, поэтому попытка записать их так, как вы это делаете, не даст никакого эффекта.
XMLListCollection
на самом деле бесполезный класс, не знаю, почему он вообще существует.Вы можете указать XML
или XMLList
в качестве поставщика данных для DataGrid
.Model
- еще один бесполезный класс, поэтому, возможно, вы можете просто потерять его и заменить его на dataGrid.dataProvider
, где вам нужно будет ссылаться на содержимое DataGrid.