我想使用ext.data.model读取此XML到ExtJS Store:

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

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

我想在Interfaces网格的“名称”列中显示'eth0'和'eth1'。

此映射{name:'interface',mapping:'green> name'}仅显示eth0。

如何进行映射以在网格中显示eth0和eth1? 我不应该修改XML文件结构。

提前感谢

有帮助吗?

解决方案

recordXmlReader配置是相对于root标记指定的选择器。

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