extjsxmlstore:我在JSON解码时出错,但我';设置XML读取器

extjsxmlstore:我在JSON解码时出错,但我';设置XML读取器,xml,extjs,Xml,Extjs,我试图在存储中加载一个xml文件,但在加载时出现异常消息“Ext.JSON.decode():您试图解码一个无效的JSON”。我不理解此消息,因为我已设置了XML读取器 这是我的test.xml内容: <GetFeatureInfoResponse> <Layer> <Name>Comuni</Name> </Layer> </GetFeatureInfoResponse> 知道怎么回事吗 致意 Franc

我试图在存储中加载一个xml文件,但在加载时出现异常消息“Ext.JSON.decode():您试图解码一个无效的JSON”。我不理解此消息,因为我已设置了XML读取器

这是我的test.xml内容:

<GetFeatureInfoResponse>
  <Layer>
    <Name>Comuni</Name>
  </Layer>
</GetFeatureInfoResponse>
知道怎么回事吗

致意


Francesco

我已经获取了您的数据源并对其进行了测试,结果与预期一样:没有错误,加载了一条记录。问题一定出在别处了。非常感谢您的测试和回答,这很有帮助。是的,问题来自不同的地方。在登录时,我调用Ext.Ajax.request,并为requestcomplete注册回调。所以当我加载这个存储时,会触发两个回调,一个是我上面写的,第二个是用于登录的函数,我在其中调用Ext.JSON.decode(登录时ok,加载存储时no ok)。因此,现在我必须找到一种方法,在使用它之后注销我的登录回调。当做
Ext.define('TestComplete.model.DataModelGIFLayer', {
    extend: 'Ext.data.Model',

    fields: [
        {
            name: 'name', mapping: 'Name'
        }
    ],

    proxy: {
        type: 'ajax',
        url: 'test.xml',
        reader: {
            type: 'xml',
            record: 'Layer',            
        }
    }
});

var store = Ext.create('Ext.data.Store', {
    model: 'TestComplete.model.DataModelGIFLayer',
});

store.load({
    scope: store,
    callback: function(records, operation, success) {
        var count = store.count();
        console.log(records);
    }
});