Ext.data.Store 读取XML属性值

data.xml
<?xml version="1.0" encoding="UTF-8"?>
<Items>
	<Item ASIN="0446355453" 
		Author="Sidney Sheldon" 
		Manufacturer="Warner Books" 
		ProductGroup="Book" 
		Title="Master of the Game"/>
		
	<Item ASIN="0446613657" 
		Author="Sidney Sheldon" 
		Manufacturer="Warner Books" 
		ProductGroup="Book" 
		Title="Are You Afraid of the Dark?"/>
		
	<Item ASIN="0446357421" 
		Author="Sidney Sheldon" 
		Manufacturer="Warner Books" 
		ProductGroup="Book" 
		Title="If Tomorrow Comes"/>
		
	<Item ASIN="0446607207" 
		Author="Sidney Sheldon" 
		Manufacturer="Warner Books" 
		ProductGroup="Book" 
		Title="Tell Me Your Dreams"/>
		
	<Item ASIN="0446357448" 
		Author="Sidney Sheldon" 
		Manufacturer="Warner Books" 
		ProductGroup="Book" 
		Title="Bloodline"/>
</Items>

TestGrid.js
/**
 * Ext.data.Store 读取XML属性值
 * @author KJW
 * @param {} config
 */
TestGrid = function(config) {
	config = config || {};
	
	this.cm = new Ext.grid.ColumnModel([
		{header : 'Author', 		dataIndex: 'Author'},
		{header : 'Manufacturer', 	dataIndex: 'Manufacturer'},
		{header : 'ProductGroup', 	dataIndex: 'ProductGroup'},
		{header : 'Title', 			dataIndex: 'Title'}
	]);
	
	this.store = new Ext.data.Store({
		url		: 'data.xml',
		reader	: new Ext.data.XmlReader({
			record	: 'Item',
			id		: '@ASIN',
			totalRecords: '@total'
		}, [
			{name: 'Author', 		mapping: '@Author'},
			{name: 'Manufacturer', 	mapping: '@Manufacturer'},
			{name: 'ProductGroup', 	mapping: '@ProductGroup'},
			{name: 'Title', 		mapping: '@Title'}
		])
	});
	
	this.store.load();
	
	Ext.applyIf(config, {
		title	: 'TestGrid',
		width 	: 500,
		height	: 250,
		frame	: true
	});
	
	TestGrid.superclass.constructor.call(this, config);
}
Ext.extend(TestGrid, Ext.grid.GridPanel, {});

Ext.onReady(function() {	
	var testGrid = new TestGrid();
	testGrid.render("div_main");	
});

你可能感兴趣的:(xml,ext)