J'utilise ExtJS avec un XMLReader pour afficher le contenu d'un GridPanel. Cela fonctionne très bien, mais ma source XML a un nombre imprévisible d'éléments répétés:Gestion des données XML imprévisibles dans la grille ExtJS
<beamline>
<technique>Tomography</technique>
<technique>Phase contrast imaging</technique>
<technique>Microdiffraction</technique>
<technique>General diffraction</technique>
</beamline>
Il pourrait y avoir partout de 0-30 <technique>
éléments.
Actuellement je tire ces manuellement dans le XMLReader en utilisant le: nième option (n):
{name: 'technique1', mapping: 'technique:nth(1)'},
{name: 'technique2', mapping: 'technique:nth(2)'},
puis les placer dans le panneau sous forme de colonnes et concaténer avec une fonction renderer:
{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>';
}
mais cela est évidemment trop maladroit à l'échelle. Existe-t-il une méthode générique (en boucle ou XPath) pour obtenir un résultat similaire?
Merci, DanB, je vais essayer. – Jonas