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

});
但数据得是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'}

       ]     

    }]

}

下面是内存结构:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值