2

在提问之前,发现有一个类似的问题:Sencha Touch 2,nested XML parsing nodeValue I use model/proxy to load data form xml file,几乎成功但是有一个问题就是无法读取记录的值xml 文件中的节点。我的 xml 文件喜欢这样:myRecord.js

コード:

<records>
    <record attribute='a' id='1'>A</record>
    <record attribute='b' id='2'>B</record>
    <record attribute='c' id='3'>C</record>
</record>

我的模型喜欢这样:

コード:

Ext.define('RecordModel',{
    extend: 'Ext.data.Model',
    config: {
         fields: [
             {name: 'recoreAttr', mapping: '@attribute', type:'string'}
             {name: 'recordId', mapping: '@id', type:'string'}
             {name: 'recordName', mapping: 'record', type:'string'}
          ],
         proxy: {
             type:'ajax',
             url: 'myRecord.js'
             reader: {
                  type:'xml';
                  rootProperty:'records'
                  record:'record',           // only occurs for the node configed here
             }
         }
    }
})

然后我创建一个“RecordModel”存储并调用 load() 方法,我发现属性(我的 xml 文件中的 a,b,c)和 id(我的 xml 文件中的 1,2,3)被正确读取。但未读取之间的值(我的 xml 文件中的 A、B、C)。我以为一定是我的映射格式错误,但我不知道正确的映射格式喜欢什么。这个问题只发生在代理中配置为“记录”的节点上,如果记录节点中有嵌套节点,则可以成功读取该值。

<records>
    <record attribute='a' id='1'>A</record>
    <record attribute='b' id='2'>B</record>
    <record attribute='c' id='3'>C</record>
    <record attribute='c' id='3'>
        <nested>D</nested>
    </record>
</record>

嵌套节点值“D”可以读取。

4

0 回答 0