煎茶触摸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);
}}