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