Question

Je souhaite lire ce XML en utilisant un Ext.data.Model dans un magasin ExtJS :

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

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

Je souhaite afficher « Eth0 » et « Eth1 » dans la colonne « nom » de ma grille d'interfaces.

ce mappage {nom :'interface', mappage :'green> name'} affiche uniquement Eth0.

comment puis-je faire un mappage pour afficher Eth0 et Eth1 dans la grille ?Je ne devrais pas modifier la structure du fichier XML.

Merci d'avance

Était-ce utile?

La solution

Le record configuration du XmlReader est un sélecteur spécifié par rapport au root étiqueter.

Pour lire toutes les balises enfants de la racine en tant qu'enregistrement, quel que soit le nom de la balise, nous pouvons sélectionner toutes les balises enfants en utilisant le > * sélecteur.

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [ 'name', 'enabled' ],
    proxy: {
        type: 'ajax',
        reader: {
            type: 'xml',
            root: 'interfaces',
            record: '> *'
        }
    }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top