/ / Como posso fazer Flex criar matrizes de um elemento a partir de dados XML? - xml, flex, actionscript-3

Como faço para o Flex criar arrays de um elemento a partir de dados XML? - xml, flex, actionscript-3

Eu recupero dados XML no Flex via HttpService. Eu tenho o resultFormat propriedade na instância HttpService definida como HTTPService.RESULT_FORMAT_OBJECT. O resultado contém dados semelhantes a este:

<!-- ... -->
<children>
<item><!-- ... --></item>
<item><!-- ... --></item>
<!-- ... -->
<children>
<!-- ... -->

Eu recebo um array chamado item abaixo do elemento children quando há mais de um item irmão. Se houver apenas um, a conversão não poderá diferenciá-lo de um escalar.

O que eu preciso mudar para ter Flex converter todos item elementos para uma matriz com 0 ou mais elementos?

O que eu teria que fazer para obter um membro da matriz children, largando o item invólucros completamente?

O XML é gerado pelo Struts no lado do servidor. Eu sempre tenho a opção de alterar a estrutura do documento, mas agora estou interessado no que posso fazer com o Flex.

Respostas:

0 para resposta № 1

o item objeto deve ser um XMLList se há uma entrada ou várias. (Será undefined se não houver nenhum.)

Você pode usar XML métodos sobre ele, se houver apenas um elemento, mas que é apenas como uma conveniência. Veja o Documentação XMLList.

Eu também recomendo o comentário 5 sobre isso entrada de blog por Mike Morearty (versão em cache, pois o site parece estar inacessível).


-1 para resposta № 2

Tente isto:

try {
for (var i:int = 0; /* loop forever till error is thrown */; i++) {
var j:String = String( children.item[ i ].SomeOtherAttribute ); // if its a string
}
} catch (re:RangeError) {
}