2011-01-10 2 views
0

Я разбираю xml с моими 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> 

вэнь я запустить код только "Активный" выходит. , , ,

я знаю, что я делаю что-то неправильно, но я не уверен, что ....

пожалуйста, помогите. , , , ,

ответ

0

Каждая вещь была тонкой execpt, что мой формат 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> 
0

Вы должны посетить sencha.com учебник о том, как использовать XML с сеткой. XML Grid Sample

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

0

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

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

Изменение: record: 'investors' к: record: 'investor'

Смежные вопросы