I am trying some basic application on Sencha Touch 2.
Instead of json, I am trying to read an xml in the sencha touch list.
I have my store defined like this,
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,
}
});
and my xml file is located at the same place where my store is.
<?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>
and my list view goes like this,
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>',
}
]
}
});
but no o/p is shown.
Where am I doing wrong ? Please suggest!
Couple issues. Your XML is not valid, it needs to be like
The other issue is you shouldn’t create your store like that. Either specify it in the stores array and refer to it via the store id in your list or create the store like:
Also, I have an eye for extra commas… bad extra comma! It’s at the end of autoLoad : true