2011-01-10 56 views
0

我正在用我的extjs解析一個xml,但它只返回五個組件之一。我的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 當日交易 每月到期 $ 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

您需要訪問有關如何使用XML與網格的sencha.com教程。 XML Grid Sample

您不應該如何正確地構建您的XML,以便它可以被數據存儲使用。

0

需要將Ext XML網格配置爲查找重複元素以映射到商店/網格中的每條記錄。您已將它配置爲investors,其中只有1個。然後,您爲investor映射了一個字段,它僅抓取第一個遇到該「行」的「列」的字段。

網格中「行」的重複元素應該是investor而不是investors

變化:record: 'investors' 到:record: 'investor'