【问题标题】:Sencha Touch 2, nested XML parsing nodeValueSencha Touch 2、嵌套XML解析nodeValue
【发布时间】:2012-08-29 11:18:54
【问题描述】:

我正在使用嵌套 XML 并使用“hasMany”解析它。如果有人能告诉我如何读取节点“type>”的值,我将不胜感激。我可以使用映射轻松读取“”的属性“id”和“val”,但我还想读取节点值,例如。 257411 在 类型 id="3" val="0">257411 如果有人可以提供合适的“映射”,我将不胜感激

XML 数据:

<?xml version="1.0" encoding="ISO-8859-1"?>
<basics id="744" name="social">
      <number>302221</number>
      <types>
             <type id="3" val="0">257411</type>
             <type id="2" val="1081337">28213</type>
             <type id="1" val="263258">8645</type>
             <type id="5" val="0">3664</type>
             <type id="4" val="0">2246</type>
             <type id="9" val="0">1124</type>
            <type id="10" val="0">918</type>
      </types>
</basics>

模型基本 Ext.define("ap3.model.Basic",{ 扩展:“Ext.data.Model”,

config: {
    fields: [
             {name: 'id', mapping: '@id'},
             {name: 'name', mapping: '@name'},

             {name: 'number', mapping: 'number'}
             ],


             associations: [
                {
                    type: 'hasMany',
                    model: 'apv3.model.Type',
                    associationKey: 'types'
                }]
}

});

型号类型 Ext.define("ap3.model.Type",{ 扩展:“Ext.data.Model”,

config: {
    fields: [
             {name: 'id', mapping: '@id'},
             {name: 'val', mapping: '@val'},
             {name: 'type', mapping: 'type'}

             ],

             proxy: {
         type: 'memory',
         reader: {
                type: 'xml',
                record: 'type'
            }
    }
}

});

【问题讨论】:

    标签: sencha-touch-2


    【解决方案1】:

    “mapping”也接受一个函数:

    {name: 'id', mapping: '@id'},
    {name: 'name', mapping: '@name'},
    {name: 'number', mapping:  function (node) {
        return (node.firstChild ? node.firstChild.nodeValue : null);
    }}
    

    【讨论】:

      【解决方案2】:

      不知道这是否算作一个答案,但是在同一个问题上花了很多时间我会说这是框架中的一个错误:(

      几个相关链接: https://stackoverflow.com/a/11549596/454266 http://www.sencha.com/forum/showthread.php?209025-Nested-XML-reader-problem&p=838952&viewfull=1#post838952

      幸运的是,嵌套的 JSON 可以正常工作。我的建议是切换到它或手动处理低级模型的加载(例如,编写自己的方法来完成 hasMany 关联的工作,方法是创建一个商店/阅读器并将 this.raw.types 提供给它)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-19
        • 2013-05-05
        • 2012-10-06
        • 1970-01-01
        • 2023-04-01
        • 2014-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多