在提问之前,发现有一个类似的问题: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”可以读取。