Я использую ExtJS с XMLReader для отображения содержимого в GridPanel.Это прекрасно работает, однако мой источник XML имеет непредсказуемое количество повторяющихся элементов:
<beamline>
<technique>Tomography</technique>
<technique>Phase contrast imaging</technique>
<technique>Microdiffraction</technique>
<technique>General diffraction</technique>
</beamline>
Может быть где угодно от 0-30 <technique>
элементов.
В настоящее время я извлекаю их вручную в XMLReader с помощью параметра: nth (n):
{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>';
}
но это, очевидно, слишком неуклюжий для масштабирования.Существует ли универсальный метод (в виде цикла или в стиле XPath) для достижения аналогичного результата?