Pregunta

Quiero leer este XML usando Ext.data.Model en una tienda ExtJS:

<interfaces>
    <green> 
        <name>Eth0</name>
        <enabled>true</enabled>
    </green>

    <red>
        <name>Eth1</name>
        <enabled>true</enabled>
    </red>
</interfaces>

Quiero mostrar 'Eth0' y 'Eth1' en la columna 'nombre' de la cuadrícula de mis interfaces.

este mapeo {nombre:'interfaz', mapeo:'green> nombre'} solo muestra Eth0.

¿Cómo puedo hacer un mapeo para mostrar Eth0 y Eth1 en la cuadrícula?No debería modificar la estructura del archivo xml.

gracias de antemano

¿Fue útil?

Solución

El record configuración del XmlReader es un selector especificado en relación con el root etiqueta.

Para leer todas las etiquetas secundarias de la raíz como un registro, independientemente del nombre de la etiqueta, podemos seleccionar todas las etiquetas secundarias usando el > * selector.

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [ 'name', 'enabled' ],
    proxy: {
        type: 'ajax',
        reader: {
            type: 'xml',
            root: 'interfaces',
            record: '> *'
        }
    }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top