我的XML出了什么问题?

时间:2011-01-10 09:29:47

标签: extjs xml-parsing

我正在使用我的extjs解析xml,但它只返回五个组件中的一个。

只有五个组成部分中的第一个。

Ext.regModel('Card', {
    fields: ['investor']    
});

var store = new Ext.data.Store({
    model: 'Card',
    proxy: {
        type: 'ajax',
        url: 'xmlformat.xml',
        reader: {
            type: 'xml',
            record: 'investors'
        }
    },
    listeners: {
        single: true,
        datachanged: function(){
            Ext.getBody().unmask();
            var items = [];
            store.each(function(rec){
                                        alert(rec.get('investor'));

            });

我的xml文件是:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<investors>
    <investor>Active</investor>
    <investor>Aggressive</investor>
    <investor>Conservative</investor>
    <investor>Day Trader</investor>
    <investor>Very Active</investor>
</investors>    
<events>
    <event>3 Month Expiry</event>
    <event>LEAPS</event>
    <event>Monthlies</event>
    <event>Monthly Expiries</event>
    <event>Weeklies</event>
</events>
<prices>
    <price>$0.5</price>
    <price>$0.05</price>
    <price>$1</price>
    <price>$22</price>
    <price>$100.34</price>
</prices>   
</root>

我只运行代码“Active”出来。 。 。 。

我知道我做错了什么,但我不确定是什么......

请帮忙。 。 。 。

3 个答案:

答案 0 :(得分:0)

我的xml格式应该是这样的:

    活性     3个月到期     $ 0.5     激进     长期期权     $ 0.05     保守     月刊     $ 1     日间交易员     每月到期日     $ 22     很活跃     周刊     $ 100.34

<?xml version="1.0" encoding="UTF-8"?>
<main>
<root>
    <investor>Active</investor>
    <event>3 Month Expiry</event>
    <price>$0.5</price>
</root>
<root>
    <investor>Aggressive</investor>
    <event>LEAPS</event>
    <price>$0.05</price>
</root>
<root>
    <investor>Conservative</investor>
    <event>Monthlies</event>
    <price>$1</price>
</root>
<root>
    <investor>Day Trader</investor>
    <event>Monthly Expiries</event>
    <price>$22</price>
</root>
<root>
    <investor>Very Active</investor>
    <event>Weeklies</event>
    <price>$100.34</price>
</root>
</main>

答案 1 :(得分:0)

您需要访问有关如何在网格中使用XML的sencha.com教程。 XML Grid Sample

您应该不考虑如何正确构建XML,以便数据存储可以使用它。

答案 2 :(得分:0)

Ext XML网格需要配置为查找要映射到商店/网格中每条记录的重复元素。你已经为investors配置了它,其中只有1.然后你为investor映射了一个字段,它只是抓住它遇到的那个“行”的“列”的第一个字段

网格中“行”的重复元素应为investor,而不是investors

更改:record: 'investors' 致:record: 'investor'