基本上我想在Flex中创建
XMLDesigner类的东西,使用哪个用户可以添加/编辑视图/仪表板的组件和属性.
我将视图结构存储在xml文件中.我在运行时解析该文件并显示视图.
如何将对象(具有属性和子对象)转换为xml节点(具有属性和元素)并将该xml添加到现有xml文件中.所以,下次当我解析xml文件时,我将在我的视图/仪表板中获取该新组件.
我将视图结构存储在xml文件中.我在运行时解析该文件并显示视图.
如何将对象(具有属性和子对象)转换为xml节点(具有属性和元素)并将该xml添加到现有xml文件中.所以,下次当我解析xml文件时,我将在我的视图/仪表板中获取该新组件.
例如,xml文件中组件的对象结构:
<view id="productView" label="Products"> <panel id="chartPanel" type="CHART" ChartType="Pie2D" title="Productwise Sales" x="215" y="80" width="425" height="240" showValues="0" > </panel> </view>
提前致谢.
解决方法
使用XML(反)序列化库.
有很多,但有一件我用过,发现非常稳定的是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(目标)
结果就是
<MOck2Replacement attribute="true" id="5"> <objectVersion> 33 </objectVersion> </MOck2Replacement>
有一个API可以处理它.使用这个AP,我成功地(序列化)了SolidColor和LinearGradient,我没有源它来装饰它.