2

我有一个无法修改的 java web 服务。它产生像这样的xml:

<query>
    <entity TYPE="Location">
        <value TYPE="Id"/>
        <value TYPE="Class"/>
        <value TYPE="Name"/>
    </entity>
    <entity TYPE="Activity">
        <value TYPE="Id"/>
        <value TYPE="Date"/>
        <value TYPE="Duration"/>
    </entity>
</query>

我需要将 xml 放入树存储中,实体将是文件夹,值将作为叶子。我试图用关系描述 2 个模型:

Ext.define( 'modelEntity' , {
    extend : 'Ext.data.Model' ,
        proxy: {
        type: 'ajax',
        url: 'query.xml', //just for tests
        reader: { type: 'xml' , root: 'query' , record: 'entity' } ,
    },
    fields: [
        {  name: 'leaf' ,  type: 'boolean', defaultValue: true} ,
        {  name: 'text' ,  type: 'string', mapping: '@TYPE'}
    ],
    hasMany: { model: "modelValue", name: "value",  }
});

Ext.define( 'modelValue' , {
    extend : 'Ext.data.Model' ,
    fields: [
        {  name: 'leaf' ,  type: 'boolean', defaultValue: true} ,
        {  name: 'text' ,  type: 'string', mapping: '@TYPE'}
    ],
    belongsTo: "modelEntity"
});

有一个树店和一个树形面板:

Ext.define('storeQuery' , {
    extend: 'Ext.data.TreeStore',   
    model: 'modelEntity',
    root: {
        expanded: true,
        leaf: false,
        children: []
    },
    autoLoad: false
});

Ext.create('Ext.tree.Panel', {
    store: Ext.create('storeQuery'),
    rootVisible: false
    ......
});

显然它不起作用,只显示实体,它们的子节点不显示。请帮帮我 !=)

4

0 回答 0