首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ExtJS4:从XML字符串读取数据

ExtJS4:从XML字符串读取数据
EN

Stack Overflow用户
提问于 2013-03-06 11:13:33
回答 2查看 3.7K关注 0票数 0

我正在尝试从客户端的XML字符串加载数据。XML读取器未从xml字符串中获取数据。以下是代码

代码语言:javascript
复制
  Ext.define('User', {    extend: 'Ext.data.Model',
    fields: ['firstname', 'lastname', 'phone']
});

var storeT =  Ext.create('Ext.data.Store', {    model: 'User',
    data:  '<users><user><firstname>Jack</firstname><lastname>Jobs</lastname><phone>1234567890</phone></user></users>', 
    autoLoad: true,
    proxy: {
        type: 'memory',
        reader: {
            type: 'xml',
            root: 'users',                            
            }    
    }
});

var user = storeT.first();
console.log("First Name " + user.get('firstname') );

StoreT没有记录。有任何提示为什么它无法获取数据吗?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-06 13:41:11

XmlReader的record配置是必需的。尝试将以下内容添加到您的阅读器配置中:

代码语言:javascript
复制
    record: 'user'
票数 2
EN

Stack Overflow用户

发布于 2013-03-07 03:17:19

谢谢bmoeskau和Evan,我可以在你们的帮助下解决这个问题。下面是工作代码:我添加了一个函数来获取XMLDoc。

代码语言:javascript
复制
function GetXMLDoc()     {  

         var xmlstring1 = "<users>" +
        "<user><firstname>Jack</firstname><lastname>Jobs</lastname><phone>1234567890</phone></user>" +
        "</users>"  ;  

        var doc;
        if(window.ActiveXObject){
          doc = new ActiveXObject("Microsoft.XMLDOM");
          doc.async = "false";
          doc.loadXML(xmlstring1);
        }else{
          doc = new DOMParser().parseFromString(xmlstring1,"text/xml");
        }

        console.log("xml", xmlstring1); 
        return doc;

  }

已按如下方式更改读卡器:

代码语言:javascript
复制
    var storeT =  Ext.create('Ext.data.Store', {
        model: 'MyUser',
        data:  GetXMLDoc(), 
        autoLoad: true,
        proxy: {
            type: 'memory',
            reader: {
            type: 'xml',
            root: 'users',
            record: 'user',                     
            }
        }
    }); 


    var user = storeT.first();
    console.log("First Name " + user.get('firstname') );

谢谢..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15238313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档