0

私の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> 
  <event>Weeklies Expiry</event> 
  </events>
 <prices>
  <price>0.05</price> 
  <price>0.5</price> 
  <price>1</price> 
  <price>1</price> 
  <price>22</price> 
  <price>100.34</price> 
  </prices>
  </root>

私の ExtJS コードは次のとおりです。

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

    var store = new Ext.data.Store({
        model: 'Card',
        proxy: {
            type: 'ajax',
            url: 'http:/.../initpicker.php',
            reader: {
                type: 'xml',
                record: 'root'
            }
        },
        listeners: {
            single: true,
            datachanged: function(){
                var items = [];
                store.each(function(r){
                stocks.push({text: '<span style="color:Blue;font-weight:bolder;font-size:30px;">'+ r.get('price') +'</span>'});
                values.push({text: '<span style="font-weight: bold;font-size:25px;">'+ r.get('investor') +'</span>'});
                points.push({text: '<span style="font-weight: bold;font-size:25px;">'+ r.get('event') +'</span>'});
                });
            }
        }    
    });
    store.read();

私の質問は、xml に 5 回のように同じタグが含まれている場合でも、データを解析できるかということです。. . . .?

私はこのコードを試しましたが、最初のコードしか解析できませんでした.........

他の方法があれば提案してください。. .

ありがとうございました。

4

3 に答える 3

3

レコードがどのように見えるかによって異なります。

最初の投資家要素は、最初のイベントと価格要素に関連付けられ、単一のレコードにバンドルされることになっていますか? 2 番目のレコードはどうでしょうか。データ値として Aggressive、LEAPS、および 0.5 が含まれますか? もしそうなら、XML はあまり意味がありません。

Sencha の XmlReader がこれにうまく対処できるとは思えません。これが最初のレコードしか得られない理由を説明しています。

次の 2 つの解決策があります。

  1. 生成される XML を変更して、XmlReader にとってより意味のあるものにします。
  2. 独自の Reader クラスを記述して、利用可能なデータ形式からレコードを解析および抽出します
于 2011-01-11T13:34:23.333 に答える
0

ExtJsを使用してxmlを解析できます。ただし、xmlファイルは同じドメインにある必要があります

于 2011-01-12T04:56:28.170 に答える
0

この XML を何に使用していますか?

グリッド用だと思います。また、コードが XML のタグと一致していないようです。コードで取得しようとしているデータは何ですか? データ オブジェクトを設定するときは、XML のタグからデータにアクセスする必要があります。

XML の構造を再考することをお勧めします。あなたのタグは、タグ内に含まれるデータを説明していません。いくつかの点で、あなたは XML の要点を見逃しているようです。

このようなものは、グリッドを設定するために必要なものです。

<investors>
<investor>
    <name>Bob</name>
    <style>Aggressive</style>
    <price>0.5</price>
</investor>
<investor>
    <name>Francis</name>
    <price>150.00</price>
    </investor>
</investors>

このリンクを確認することを強くお勧めします: Sencha Webste の XML グリッド サンプル

于 2011-01-12T01:04:25.677 に答える