質問

ext.data.modelをextjs storeに使用してこのXMLを読みたい:

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

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

インターフェイスグリッドの「名前」列に「eth0」と 'eth1'を表示したいです。

このマッピング{name: 'interface'、マッピング: '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