2011-10-18 28 views
0

レコードの一部ではないXMLノードにアクセスしようとしています。 成功と価格のノード値を取得したいと思います。Sencha Touch:データストアからXmlデータを読み込みます。

ありがとうございます!

例XMLは、この

<Response> 
    <Success>true</Success> 
    <Document> 
     <DocumentHeaders> 
     <Price>1.99</Price> 
     </DocumentHeaders> 
     <DocumentItems> 
     <DocumentItem> 
      <Name>Test 1</Name> 
     </DocumentItem> 
     <DocumentItem> 
      <Name>Test 2</Name> 
     </DocumentItem> 
     </DocumentItems> 
    </Document> 
</Response> 

マイデータストアのようになります。あなたはこの

reader: { 
    type: 'xml', 
    record: 'DocumentItem', 
    root: 'DocumentItems', 
    successProperty: 'success' 
    } 

そしてのためのような読者successProperty: 'success'にこのプロパティを追加することができます

Ext.regModel('DocumentItems', { 
    fields: [ 
     { name: 'Name', type: 'string' }, 
    ] 
}); 

Ext.regStore('MyStore', { 
    model: 'DocumentItems', 
    proxy: { 
     type: 'ajax', 
     url: 'Service.asmx/Initialize', 
     reader: { 
     type: 'xml', 
     record: 'DocumentItem', 
     root: 'DocumentItems' 
     } 
    } 
}); 
+0

extjsフォーラムでこれを聞くか、ここでリンクしてみてください。 –

+0

[こちら](http://stackoverflow.com/questions/7604878/composite-models-models-within-models-or-manual-foreign-key-associations-betw)をチェックして、関連性を持つモデル。あなたは、 "DocumentItem"と "DocumentHeader"を持つ "Document"モデルを読み込むことができます。私は、デフォルトのXmlReaderがこれを処理するかどうかはわかりませんが、そうするためにいつでも拡張できます。 –

答えて

0

priceプロパティモデルを変更する別の方法はないと思いますそのプロパティを格納する。

+0

手動でリーダーを拡張して作成できませんでしたか? –

+0

また、 "DocumentItem"と "DocumentHeader"の両方を持つ "Document"モデルを作成する方法はありませんか? –

+0

はい、もちろんですが、これは単なる作業です。ここでAPIをチェックして、リーダーを拡張する方法を確認してください。http://docs.sencha.com/touch/1-1/#!/api/Ext.data.XmlReader – ilija139

関連する問題