Sencha Touch - XML Reader问题

时间:2012-06-28 16:16:46

标签: javascript xml extjs sencha-touch-2

我在Sencha Touch 2上尝试一些基本的应用程序。

我试图在sencha触摸列表中读取json,而不是xml

我的商店定义如下,

 Ext.define('MyApp.store.ListStore', {
    extend: 'Ext.data.Store',

    config: {
        fields: ['id','name','email'],
        proxy: {
           type: 'jsonp',
           url: 'users.xml',
           reader: {
              type: 'xml',
              record: 'user',
              rootProperty: 'users'
           }
        },
        autoLoad:true,
    }
});

和我的xml文件位于我的商店所在的位置。

 <?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <id>1</id>
        <name>Ed Spencer</name>
        <email>ed@sencha.com</email>
    </user>
    <user>
        <id>2</id>
        <name>Abe Elias</name>
        <email>abe@sencha.com</email>
    </user>
</users>

我的列表视图就像这样,

var listStore = Ext.create('MyApp.store.DStore');

Ext.define('MyApp.view.NavigateView', {
    extend: 'Ext.navigation.View',
    xtype: 'navigateview',

    requires: [
        'MyApp.store.ListStore'
    ],
    config: {
        fullscreen: true,
        scrollable: true,

        items: [
            {
                  xtype: 'list',
                  title: 'List',
                  id: 'datalist',
                  onItemDisclosure: true,
                  store: listStore,
                  itemTpl: '<div class="contact">{name}</div>',
            }
         ]
     }
});

但没有显示o / p。

我在哪里做错了?请提出建议!

1 个答案:

答案 0 :(得分:0)

夫妻问题。您的XML无效,需要像

<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <id>1</id>
        <name>Ed Spencer</name>
        <email>ed@sencha.com</email>
    </user>
    <user>
        <id>2</id>
        <name>Abe Elias</name>
        <email>abe@sencha.com</email>
    </user>
</users>

另一个问题是你不应该像那样创建你的商店。在stores数组中指定它并通过列表中的商店ID引用它,或者创建商店,如:

store : {
    xclass : 'MyApp.store.ListStore'
}

另外,我有一个额外的逗号...额外的逗号!它在autoLoad的末尾:true