Вопрос

Я хочу прочитать этот XML с использованием Ext.data.Model в магазине ExtJS:

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

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

Я хочу показать «Eth0» и «Eth1» в столбце «имя» сетки моих интерфейсов.

это отображение {имя:'интерфейс', отображение:'green> name'} показывает только Eth0.

как я могу выполнить сопоставление, чтобы показать Eth0 и Eth1 в сетке?Мне не следует изменять структуру файла XML.

заранее спасибо

Это было полезно?

Решение

Тем record конфигурация XmlReader селектор, указанный относительно root ярлык.

Чтобы прочитать все дочерние теги корня как запись, независимо от имени тега, мы можем выбрать все дочерние теги с помощью > * селектор.

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [ 'name', 'enabled' ],
    proxy: {
        type: 'ajax',
        reader: {
            type: 'xml',
            root: 'interfaces',
            record: '> *'
        }
    }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top