欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ext.data.Store 读取XML属性值

程序员文章站 2022-03-08 09:56:38
...
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");	
});
相关标签: EXT XML