Extjs 如何将数据从data.store提取到数组?

Extjs 如何将数据从data.store提取到数组?,extjs,sencha-touch,Extjs,Sencha Touch,以下是我的xml代码: <?xml version="1.0" encoding="UTF-8"?> <root> <investors> <investor name="Active"/> <investor name="Aggressive"/> <investor name="Conservative"/> <investor name="Day Trader"/>

以下是我的xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<investors>
    <investor name="Active"/>
    <investor name="Aggressive"/>
    <investor name="Conservative"/>
    <investor name="Day Trader"/>
    <investor name="Very Active"/>
</investors>    
<events>
    <event period="3 Month Expiry"/>
    <event period="LEAPS"/>
    <event period="Monthlies"/>
    <event period="Monthly Expiries"/>
    <event period="Weeklies"/>
</events>
<prices>
    <price rate="$0.5"/>
    <price rate="$0.05"/>
    <price rate="$1"/>
    <price rate="$22"/>
    <price rate="$100.34"/>
</prices>   
</root>
但这对我不起作用 请帮忙
谢谢你,getRange应该这样做。确保R大写

假设这只是您问题中的一个输入错误,如果getRange没有返回记录数组,则很可能是您的存储没有正确加载记录。你确定你的商店正确加载了记录吗?装载后使用firebug检查仓库

编辑 看起来您在存储加载完数据之前运行了getRange。您正在创建时加载存储autoLoad:true,但是当XMLHttpRequest在后台仍然挂起时,您将立即运行getRange

您需要侦听存储的加载事件,并使用一个处理程序来处理数据

EDIT2这项工作:

Ext.onReady(function(){
        console.log('hi');
        var prstore = new Ext.data.Store({
                url: 'xmlformat.xml',
                autoLoad: true,
                reader: new Ext.data.XmlReader({
                        record: 'price'
                    }, [{name: 'Pri', mapping: '@rate'}])
            });

        prstore.on('load',function(store,records,opts){                    
                console.log(store.getRange());
            });


    });

您应该能够在firebug控制台中看到Ext.data.Record对象数组。

@timdev ya,我的记录正在加载数据并显示在网格中,您正在执行prstore.getRange;加载数据后,您没有执行prstore.getrange?@timdev是的,我是这样做的。看起来您并不是在等待商店完成数据加载。编辑即将到来…@timdev我得到的输出是:[object,object],[object,object],[object,object],[object,object]有什么方法可以将这些对象中的数据检索到:hello={$0.5,$0.05,$1,$22,$100.34}
hello = {"$0.5","$0.05","$1","$22","$100.34"}
Ext.onReady(function(){
        console.log('hi');
        var prstore = new Ext.data.Store({
                url: 'xmlformat.xml',
                autoLoad: true,
                reader: new Ext.data.XmlReader({
                        record: 'price'
                    }, [{name: 'Pri', mapping: '@rate'}])
            });

        prstore.on('load',function(store,records,opts){                    
                console.log(store.getRange());
            });


    });