Ext多层嵌套记录解析问题
?
如数据格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<Bills>
??? <Bill>
?????? <Ad>SC2AAk99</Ad>
?????? <Count>4</Count>
?????? <Money>100.32</Money>
?????? <Type>后符费</Type>
?????? <Orders>
?????????? <Order>
????????????? <Id>1</Id>
????????????? <No>20100816</No>
????????????? <Name>订单名称1</Name>
????????????? <Money>123</Money>
?????????? </Order>
?????????? <Order>
????????????? <Id>2</Id>
????????????? <No>20100816</No>
????????????? <Name>订单名称1</Name>
????????????? <Money>123</Money>
?????????? </Order>
?????????? <Order>
????????????? <Id>3</Id>
????????????? <No>20100816</No>
????????????? <Name>订单名称1</Name>
????????????? <Money>123</Money>
?????????? </Order>
?????? </Orders>
??? </Bill>
??? <Bill>
?????? <Ad>SC2AAk98</Ad>
?????? <Count>2</Count>
?????? <Money>100.32</Money>
?????? <Type>后符费</Type>
?????? <Orders></Orders>
??? </Bill>
??? <Bill>
?????? <Ad>SC2AAk97</Ad>
?????? <Count>5</Count>
?????? <Money>100.32</Money>
?????? <Type>先符费</Type>
?????? <Orders></Orders>
??? </Bill>
??? <TotalRecord>3</TotalRecord>
</Bills>
这是一个多层嵌套记录,使用XML无法解析,如下:
var store = new Ext.data.Store({
?????? proxy: new Ext.data.HttpProxy({
?????????? url : './RowExpanderGrid.xml',
?????????? method : "GET"
?????? }),
?????? reader: new Ext.data.XmlReader({
?????????? totalRecords : "TotalRecord",
?????????? record : 'Bill'
?????? }, ['Ad', 'Count', 'Money', 'Type', 'Orders'])??
});
store.on("load", function(t, r, o){?
???alert(r.length);????
})
??? store.load();
下是内存结构:
??
?
使用JsonStore可以解析出内层来:
var?store1?=?new?Ext.data.JsonStore({????url:?'./RowExpanderGrid.json',????root:?'bills',????fields:?['ad',?'count',?'money',?'type',?'order']});store1.load();store1.on("load",?function(){{
??? bills : [{
?????? ad : "SC2AAk99",
?????? count: 1,
?????? money: 123 ,
?????? type: 1,
?????? order: [
?????????? {id: 1, no: 11, name: "name11", money: '100'},
?????????? {id: 2, no: 12, name: "name12", money: '100'},
?????????? {id: 3, no: 13, name: "name13", money: '100'},
?????????? {id: 4, no: 14, name: "name14", money: '100'}
?????? ]?????
??? }, {
?????? ad : "SC2AAk98",
?????? count: 2,
?????? money: 22 ,
?????? type: 1,
?????? order: [
?????????? {id: 21, no: 211, name: "name211", money: '200'},
?????????? {id: 22, no: 212, name: "name212", money: '200'},
?????????? {id: 23, no: 213, name: "name213", money: '200'},
?????????? {id: 24, no: 214, name: "name214", money: '200'}
?????? ]?????
??? }]
}
下面是内存结构: