Creazione da XML a TreeView con elementi interni modificabili

martedì 02 agosto 2011 - 16.52
Tag Elenco Tags  C#  |  .NET 3.5

andrestu Profilo | Expert

Salve a tutti,
volevo dei suggerimenti su come procedere per realizzare un menù tipo treeview dove i nodi terminali rappresentano dati corrispondenti ad un file XML e devono essere modificabili.
Ho un file XML che definisce una serie di nodi e sottonodi, i nodi terminali (cioè quelli che al loro interno non hanno altri elementi) rappresentano i dati effettivi da modificare, ovvero gli elementi dove l'utente deve interagire e i il cambiamento di questi elemnti verrà riflesso sul file XML.
Ho visto che si può semplicemente trasformare la struttura da XML a HTML con l'abbinamento di un controllo XmlDataSource con un controllo TreeView, il punto è che i nodi terminali generati sono link e io vorrei generare elementi html diversi in base al tipo di nodo (ho creato un XSD che definisce i tipi per ogni nodo terminale).
Quindi per esempio dovranno esserci checkbox per i boolean, textbox per string e così via. Penso che questo si possa fare utilizzando la trasformazione con l'appoggio di un XSLT. Il punto è che così facendo mi ritrovo generati elementi HTML e non controlli aspnet quindi dovrò trovare il modo poi di riflettere le modifiche apportate sul file XML, in che modo posso farlo? esiste qualche automatismo o devo inventarmi il codice?
Soluzione alternativa al posto di generare direttamente HTML sarebbe quella di leggermi manualmente da codice il file XML e generarmi a runtime i controlli aspnet in base alla struttura, così poi per riflettere le modifiche basta che rileggo la struttura e il contenuto dei controlli con le relative proprietà e rifletto le mofiche sul file XML...
Non so se mi sono spiegato bene, avete suggerimenti in merito?




Andrea Restucci - Web Programmer
www.andrearestucci.name
Download and try my FREE custom controls !!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5