XmlStore.js
上传用户:dawnssy
上传日期:2022-08-06
资源大小:9345k
文件大小:3k
源码类别:

JavaScript

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.1.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ /**
  2.  * @class Ext.data.XmlStore
  3.  * @extends Ext.data.Store
  4.  * <p>Small helper class to make creating {@link Ext.data.Store}s from XML data easier.
  5.  * A XmlStore will be automatically configured with a {@link Ext.data.XmlReader}.</p>
  6.  * <p>A store configuration would be something like:<pre><code>
  7. var store = new Ext.data.XmlStore({
  8.     // store configs
  9.     autoDestroy: true,
  10.     storeId: 'myStore',
  11.     url: 'sheldon.xml', // automatically configures a HttpProxy
  12.     // reader configs
  13.     record: 'Item', // records will have an "Item" tag
  14.     idPath: 'ASIN',
  15.     totalRecords: '@TotalResults'
  16.     fields: [
  17.         // set up the fields mapping into the xml doc
  18.         // The first needs mapping, the others are very basic
  19.         {name: 'Author', mapping: 'ItemAttributes > Author'},
  20.         'Title', 'Manufacturer', 'ProductGroup'
  21.     ]
  22. });
  23.  * </code></pre></p>
  24.  * <p>This store is configured to consume a returned object of the form:<pre><code>
  25. &#60?xml version="1.0" encoding="UTF-8"?>
  26. &#60ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">
  27.     &#60Items>
  28.         &#60Request>
  29.             &#60IsValid>True&#60/IsValid>
  30.             &#60ItemSearchRequest>
  31.                 &#60Author>Sidney Sheldon&#60/Author>
  32.                 &#60SearchIndex>Books&#60/SearchIndex>
  33.             &#60/ItemSearchRequest>
  34.         &#60/Request>
  35.         &#60TotalResults>203&#60/TotalResults>
  36.         &#60TotalPages>21&#60/TotalPages>
  37.         &#60Item>
  38.             &#60ASIN>0446355453&#60/ASIN>
  39.             &#60DetailPageURL>
  40.                 http://www.amazon.com/
  41.             &#60/DetailPageURL>
  42.             &#60ItemAttributes>
  43.                 &#60Author>Sidney Sheldon&#60/Author>
  44.                 &#60Manufacturer>Warner Books&#60/Manufacturer>
  45.                 &#60ProductGroup>Book&#60/ProductGroup>
  46.                 &#60Title>Master of the Game&#60/Title>
  47.             &#60/ItemAttributes>
  48.         &#60/Item>
  49.     &#60/Items>
  50. &#60/ItemSearchResponse>
  51.  * </code></pre>
  52.  * An object literal of this form could also be used as the {@link #data} config option.</p>
  53.  * <p><b>Note:</b> Although not listed here, this class accepts all of the configuration options of 
  54.  * <b>{@link Ext.data.XmlReader XmlReader}</b>.</p>
  55.  * @constructor
  56.  * @param {Object} config
  57.  * @xtype xmlstore
  58.  */
  59. Ext.data.XmlStore = Ext.extend(Ext.data.Store, {
  60.     /**
  61.      * @cfg {Ext.data.DataReader} reader @hide
  62.      */
  63.     constructor: function(config){
  64.         Ext.data.XmlStore.superclass.constructor.call(this, Ext.apply(config, {
  65.             reader: new Ext.data.XmlReader(config)
  66.         }));
  67.     }
  68. });
  69. Ext.reg('xmlstore', Ext.data.XmlStore);