Я использую ExtJS с XMLReader для отображения содержимого в GridPanel. Это прекрасно работает, однако мой источник XML имеет непредсказуемое количество повторяющихся элементов:Обработка непредсказуемых данных XML в сетке ExtJS
<beamline>
<technique>Tomography</technique>
<technique>Phase contrast imaging</technique>
<technique>Microdiffraction</technique>
<technique>General diffraction</technique>
</beamline>
Там может быть где-нибудь от 0-30 <technique>
элементов.
В настоящее время я потянув их вручную в XMLReader с помощью: NTH (п) вариант:
{name: 'technique1', mapping: 'technique:nth(1)'},
{name: 'technique2', mapping: 'technique:nth(2)'},
и затем помещая их в панели в виде столбцов и конкатенации с функцией визуализатора:
{header: "Technique", width: 100, dataIndex: 'technique1', sortable: false, renderer: techniques},
{header: "Technique2", dataIndex: 'discipline2', hidden: true},
function techniques(val, x, store){
return '<ul><li>'+val+'</li><li>'+store.data.technique2+'</li></ul>';
}
, но это, очевидно, слишком неуклюжий в масштабе. Существует ли общий метод (loop или XPath-style) для достижения аналогичного результата?
Спасибо, DanB, я отдам это. – Jonas