煎茶触摸2,嵌套的XML使用嵌套XML和使用“的hasMany”解析它的nodeValue

问题描述:

林解析..我将不胜感激,如果有人能告诉我如何读取节点“< >”的价值。我可以很容易地使用映射读取属性'id'&'val'of'',但我还想读取节点值,例如。 257411在 < 类型 ID = “3” VAL = “0”> 257411 我希望如果任何人都可以提供合适的 '映射'煎茶触摸2,嵌套的XML使用嵌套XML和使用“的hasMany”解析它的nodeValue

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' 
      } 
    } 
} 

});

不知道这是否算作一个答案,但在花了大量的时间对同一问题我会说这是在框架:(

几个相关链接的错误: 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协会的工作,喂这个.raw.types到它)

“映射”也接受功能:

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