ext Ext.data.MemoryProxy做代理加载dom


项目上面用js读到这些xml串后,需要显示到Ext 的gird中。 
无论在Ext的例子中还是文档中,Grid的store加载的xml信息都是以xml文件存在的。页面上的只有array或者json格式数据的才被store认可,没有直接加载的xml串或者dom对象的。 
后来去extjs官方论坛找到了答案,解决办法就是自己把xml串封装成dom对象,然后用Ext.data.MemoryProxy做代理 
摘录如下: 
Js代码   收藏代码
  1. //load XML as string  
  2. var strXML = "<Tags></Tags>";  
  3. var xmlObject;  
  4.   
  5.      
  6. //load XML string code for IE  
  7. if (window.ActiveXObject)  
  8.   {  
  9.   var doc=new ActiveXObject("Microsoft.XMLDOM");  
  10.   doc.async="false";  
  11.   doc.loadXML(strXML);  
  12.   }  
  13. //load XML string code for Mozilla, Firefox, Opera, etc.  
  14. else  
  15.   {  
  16.   var parser=new DOMParser();  
  17.   var doc=parser.parseFromString(strXML,"text/xml");  
  18.   }  
  19.     
  20. xmlObject = doc.documentElement;  
  21.   
  22. //  
  23.   
  24.     var dataStore = new Ext.data.Store({  
  25.            
  26.         proxy: new Ext.data.MemoryProxy(xmlObject),  
  27.          
  28.         reader: new Ext.data.XmlReader({  
  29.                record: 'Item',  
  30.                id: 'ItemID'  
  31.            }, [  
  32.                'Cat1''Cat2''Cat3''Cat4'  
  33.            ])  
  34.     });  
  35.   
  36. //etc. etc.  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值