一、Ext.data.JsonStore
方便从JSON数据创建Ext.data.Store的小巧的帮助类。 JsonStore将自动配置一个Ext.data.reader.Json,例如:
var store = new Ext.data.JsonStore({ // store configs autoDestroy: true,storeId: 'myStore',proxy: { type: 'ajax',url: 'get-images.PHP',reader: { type: 'json',root: 'images',idProperty: 'name' } },//另外,可以配Ext.data.Model的名称(如 Ext.data.Store 中的例子) fields: ['name','url',{name:'size',type: 'float'},{name:'lastmod',type:'date'}] });
这个store采用一个返回的对象来配置:
{ images: [ {name: 'Image one',url:'/GetImage.PHP?id=1',size:46.5,lastmod: new Date(2007,10,29)},{name: 'Image Two',url:'/GetImage.PHP?id=2',size:43.2,30)} ] }
二、Ext.data.XmlStore
一个小巧的帮助类,用于更方便的从一个XML的数据来创建Ext.data.Store。 XmlStore将自动配置一个Ext.data.reader.Xml。例如:
var store = new Ext.data.XmlStore({ // store configs autoDestroy: true,url: 'sheldon.xml',// 自动配置一个HttpProxy // reader configs record: 'Item',// 数据将有一个"Item"标签 idPath: 'ASIN',totalRecords: '@TotalResults' fields: [ // 设置field和xml数据的映射 // 第一个需要映射,其他的都很基本 {name: 'Author',mapping: 'ItemAttributes > Author'},'Title','Manufacturer','ProductGroup' ] });
这个store采用一个返回的对象来配置:
<?xml version="1.0" encoding="UTF-8"?> <ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15"> <Items> <Request> <IsValid>True</IsValid> <ItemSearchRequest> <Author>Sidney Sheldon</Author> <SearchIndex>Books</SearchIndex> </ItemSearchRequest> </Request> <TotalResults>203</TotalResults> <TotalPages>21</TotalPages> <Item> <ASIN>0446355453</ASIN> <DetailPageURL> http://www.amazon.com/ </DetailPageURL> <ItemAttributes> <Author>Sidney Sheldon</Author> <Manufacturer>Warner Books</Manufacturer> <ProductGroup>Book</ProductGroup> <Title>Master of the Game</Title> </ItemAttributes> </Item> </Items> </ItemSearchResponse>