Что-то не так с моим XML? - PullRequest
0 голосов
/ 10 января 2011

Я анализирую xml с моими extjs, но он возвращает только один из пяти компонентов.

только первый из пяти компонентов.

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 голосов
/ 12 января 2011

Вам нужно посетить учебник sencha.com по использованию XML с сеткой. Пример XML-сетки

Вы не должны понимать, как правильно структурировать ваш XML, чтобы он мог использоваться хранилищем данных.

0 голосов
/ 12 января 2011

Сетка Ext XML должна быть настроена для поиска повторяющихся элементов для сопоставления с каждой записью в вашем магазине / сетке.Вы настроили его для investors, из которых только 1. Затем вы отобразили поле для investor, и оно просто захватывает первое, что встречается для «столбца» этой «строки».

Повторяющийся элемент для ваших «строк» ​​в сетке должен быть investor, а не investors.

Изменить: record: 'investors' на: record: 'investor'

0 голосов
/ 10 января 2011

Все было хорошо, за исключением того, что мой формат XML должен быть таким:

активный 3 месяца истечения $ 0,5 агрессивный LEAPS $ 0,05 консерватор месячные $ 1 Day Trader Ежемесячные истечения $ 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>
...