2011-10-18 70 views
0

我很難嘗試訪問不屬於記錄的xml節點。 我想獲得成功和價格節點值。Sencha Touch:從Data Store加載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> 

我的數據存儲:

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」的「文檔」模型。我不確定默認的XmlReader是否可以處理這個問題,但您可以隨時擴展它。 –

回答

0

您可以將此屬性添加到讀者successProperty: 'success'這樣

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

而爲price屬性我不認爲有另一種方式來修改你的模型包含該財產。

+0

難道你不能手動擴展並創建一個閱讀器嗎? –

+0

另外,是否沒有辦法創建既有「DocumentItem」又有「DocumentHeader」的「文檔」模型? –

+0

當然,但這只是更多的工作。在這裏檢查API,看看如何擴展閱讀器http://docs.sencha.com/touch/1-1/#!/api/Ext.data.XmlReader – ilija139