2011-07-01 28 views
5

Temel olarak, hangi kullanıcının eklenti/düzenleme/gösterge tablosunu ekleyebildiğini/düzenleyebileceğini kullanarak, Flex'te XMLDesigner türünde bir şey oluşturmak istiyorum. Görünüm yapısını bir xml dosyasında saklıyorum. Bu dosyayı çalışma zamanı ve görüntüleme görünümünde ayrıştırdım. Bir nesneyi (özelliklere ve alt nesneye sahip olan) xml düğümüne (niteliklere ve öğelere sahip) dönüştürün ve bu xml'yi varolan xml dosyasına ekleyin., böylece bir dahaki sefere xml dosyasını ayrıştırdığımda, bu yeni bileşeni görünümüm/kontrol panelimden alacağım. PeşinNesneden xml oluştur

<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> 

teşekkür: örneğin, xml dosyasında bileşenin amacı, yapısı için

.

cevap

7

XML (de) serileştirme kitaplığı kullanın.

Çok fazla var ama kullanıyorum ve çok kararlı bulduğum bir şey FlexxB. Çok sayıda fonksiyonu var ve yemin ederim!

Flexxb, asmak istediğinizde ek açıklama esaslıdır ve kullanımı kolaydır.

İşte ana web sitesinden kopyalanan bir örnektir.

 [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(); 
       } 
     } 

Bir açıklama ile değişkenlerin her biri süslemeleri ve XML tipi tür ne olacağını söyle.

Ve nesneyi

var target : Mock3 = new Mock3(); 
target.attribute = true; 
target.id = 5; 
target.version = 33; 

oluşturmak Ve

FlexXBEngine.instance.serialize(target)

yapmak Ve o don ilgili sonuç

<MOck2Replacement attribute="true" id="5"> 
    <objectVersion> 
    33 
    </objectVersion> 
</MOck2Replacement> 

Diğeri HARİKA şey olacağını Süslemek için bir nesnenin kaynağına sahip olmak zorunda.

Bunu işleyen bir API var. Bu AP'yi kullanarak, SolidColor ve LinearGradient numaralarını (serileştirilmiş) başarıyla dekore ettim.

General Description ve Samples'u denetleyin. Ve iş için bir one SWC install :)

+0

Çok ilginç bir kütüphane – maxmc

+0

Merhaba Ranhiru, Bağlantı için teşekkürler, ihtiyacım olanla hemen hemen aynı. İlk olarak her bir bileşen için sınıfları tanımlamalı ve niteliklerini ve elemanlarını tanımlamalıyız. Örneğin, bileşenlere yeni özellikler eklemek istiyorsak, ör. Bu durumda, öncelikle Mock3 sınıfında fontSize özniteliğini tanımlamalıyız. Bunu flexXB kullanarak yapabilir miyiz? Çalışma zamanında Mock3 sınıfına yeni öznitelikleri/öğeleri nasıl ekleyebilirim? – Gannesh

+1

Evet. Tüm özellikleri bildiğinizde bu kolay yoldur. Ya da ek açıklamaları çalışma zamanında kaydetmek için ** Annotation API ** 'yı kullanabilirsiniz. Http://code.google.com/p/flexxb/wiki/Samples2x –

0

asbeangen kullanırım.

  1. Bir DTD tanımlamak
  2. Sen
  3. Sen ToXml modelini değiştirmek ve çağrı xml yüklemek ve değerlerle oluşturulan model doldurmak için actionscript kodu dtd
  4. gelen actionscript modeli sınıfları oluşturmak
  5. () Kökünde. Bu size modifiye edilmiş değerler ile bir xml verir.

İşte daha ayrıntılı bir quickstart.

+0

Karmaşık görünüyor! – Gannesh

İlgili konular