Используйте библиотеку XML (de) для сериализации.
Существует много таких вещей, но я использовал одну вещь, которую я нашел очень стабильной, - FlexxB .У него множество функций, и я клянусь им!
Flexxb основан на аннотациях и очень прост в использовании, когда вы освоите его.
Вот пример, скопированный с основноговеб-сайт.
[XmlClass(alias="MOck2Replacement", idField="id")]
public class Mock3
{
[XmlAttribute]
public var id : Number = 3;
[XmlAttribute]
public var attribute : Boolean;
[XmlElement(alias="objectVersion")]
public var version : Number;
public function Mock3()
{
super();
}
}
Вы украшаете каждую переменную аннотацией и указываете, какой это будет тип XML.
И вы создаете объект
var target : Mock3 = new Mock3();
target.attribute = true;
target.id = 5;
target.version = 33;
И вы делаете
FlexXBEngine.instance.serialize(target)
И результат будет
<MOck2Replacement attribute="true" id="5">
<objectVersion>
33
</objectVersion>
</MOck2Replacement>
И еще УДИВИТЕЛЬНАЯ вещь о том, что вам не нужно иметьисточник объекта для его украшения.
Существует API, который обрабатывает это.Используя этот AP, я успешно де (сериализовал) SolidColor
и LinearGradient
, где у меня не было источника для его украшения.
Оформление Общее описание и Samples .И это одна установка SWC :)