gpt4 book ai didi

xml - 从对象创建 xml

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:40 24 4
gpt4 key购买 nike

基本上我想在 Flex 中创建 XMLDesigner 之类的东西,用户可以使用它来添加/编辑 View /仪表板的组件和属性。我将 View 结构存储在 xml 文件中。我在运行时解析该文件并显示 View 。如何将一个对象(具有属性和子对象)转换为 xml 节点(具有属性和元素)并将该 xml 添加到现有的 xml 文件。 这样下次我解析 xml 文件时我'我会在我的 View /仪表板中获得该新组件。

例如,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,我成功地反(序列化)了 SolidColorLinearGradient,我没有源来装饰它。

检查 General DescriptionSamples .这是一个 one SWC install :)

关于xml - 从对象创建 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6544769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com