Basicamente você pode fazer assim:

var nomeCampo:String;
var node:XML;

var myXML:XML = <usuarios></usuarios>;

nomeCampo = "usuario";
node = <{nomeCampo}/>;
myXML.appendChild(node);

nomeCampo = "endereco";
node = <{nomeCampo}/>;
myXML.appendChild(node);

/* Resultado:
<usuarios>
        <usuario/>
        <endereco/>
</usuarios>
*/

Um exemplo funcional um pouco mais avançado transforma uma lista de
objetos em XML:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
initialize="initializeHandler(event)">

<mx:Script>
        <![CDATA[
                import mx.events.FlexEvent;

                [Bindable]
                private var myXML:XML;

                private function initializeHandler(event:FlexEvent):void
                {
                        var users:Array = [{name:"Beck Novaes",
email:"[EMAIL PROTECTED]"},
                                                           {name:"Albert 
Einstein", email:"[EMAIL PROTECTED]"},
                                                           {name:"Bill Gates", 
email:"[EMAIL PROTECTED]"},
                                                           {name:"Steve Jobs", 
email:"[EMAIL PROTECTED]"}];

                        myXML = createUsersXML(users);

                        trace(myXML);

                }

                /**
                 * Pega um objeto da lista no formato:
                 *      {name:"Beck Novaes", email:"[EMAIL PROTECTED]"}
                 *
                 * E retorna um XML do objeto no formato:
                 *      <users>
                 *              <user>
                 *                      <email>
                 *                              [EMAIL PROTECTED]
                 *                      </email>
                 *                      <name>
                 *                              Beck Novaes
                 *                      </name>
                 *              </user>
                 *      </users>
                 */
                private function createUsersXML(users:Array):XML
                {

                        var usersXML:XML = <users></users>;

                        for each (var user:Object in users)
                        {
                                var userNode:XML = <user></user>;
                                for (var property:String in user)
                                {
                                        
userNode.appendChild(<{property}>{user[property]}</{property}>);
                                }
                                usersXML.appendChild(userNode);
                        }

                        return usersXML;
                }

        ]]>
</mx:Script>

</mx:Application>


O segredo é esquecer o que você conhecer de manipulação de XML nas
outras tecnologias. O ActionScript 3 tem um negócio chamado E4X  -
Ecma for XML. E isto muda um pouco a maneira de trabalhar com XML no
Flex. De fato, temos algo muito mais poderoso que pouca gente tira
proveito. Saiba mais em:
http://livedocs.adobe.com/flex/3/html/help.html?content=13_Working_with_XML_01.html


[]'s
Beck Novaes


On Oct 15, 12:50 am, Marcello Fontolan <[EMAIL PROTECTED]> wrote:
>     Pessoal,
>
>     Por exemplo, tenho uma variavel String com o conteúdo "usuario".
>     Existe (imagino que sim) forma de atribuir um atributo xml usando o
> valor da variável?
>
>     Exemplo (considerando que o & seria o caracter especial para isto)
>
>     var nomeCampo:String = "usuario";
>     xmlList.&nomeCampo = "João da Silva";
>     nomeCampo = "endereco";
>     xmlList.&nomeCampo = "Rua das Laranjeiras, 100";
>
>     Minha lista...
>
>     xmlList.usuario = "João da Silva"
>     xmlList.endereco = "Rua das Laranjeiras, 100"
>
>     abraços,
>
>     Marcello
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a