Pergunta
Quero ler este XML usando um Ext.data.Model em uma loja ExtJS:
<interfaces>
<green>
<name>Eth0</name>
<enabled>true</enabled>
</green>
<red>
<name>Eth1</name>
<enabled>true</enabled>
</red>
</interfaces>
Quero mostrar 'Eth0' e 'Eth1' na coluna 'nome' da minha grade de interfaces.
este mapeamento {nome:'interface', mapeamento:'green> name'} mostra apenas Eth0.
como posso fazer um mapeamento para mostrar Eth0 e Eth1 na grade?Não devo modificar a estrutura do arquivo xml.
desde já, obrigado
Solução
O record
configuração do XmlReader
é um seletor especificado em relação ao root
marcação.
Para ler todas as tags filhas da raiz como um registro, independentemente do nome da tag, podemos selecionar todas as tags filhas usando o comando > *
seletor.
Ext.define('MyModel', {
extend: 'Ext.data.Model',
fields: [ 'name', 'enabled' ],
proxy: {
type: 'ajax',
reader: {
type: 'xml',
root: 'interfaces',
record: '> *'
}
}
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow