读书人

Ext多层嵌套记录解析有关问题

发布时间: 2012-11-15 15:16:15 作者: rapoo

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();

下是内存结构:

?
Ext多层嵌套记录解析有关问题
?

?

?

使用JsonStore可以解析出内层来:

var?store1?=?new?Ext.data.JsonStore({????url:?'./RowExpanderGrid.json',????root:?'bills',????fields:?['ad',?'count',?'money',?'type',?'order']});store1.load();store1.on("load",?function(){
});但数据得是json格式,如:

{

??? 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'}

?????? ]?????

??? }]

}

下面是内存结构:


Ext多层嵌套记录解析有关问题

读书人网 >Web前端

热点推荐