sabato 3 settembre 2011

Linq XML caricare una dropdownlist VB.Net e c#

Il seguente frammento di codice, illustra una tecnica di come caricare una dropdownlist.
Supponiamo di avere il seguente file xml, in cui si deve caricare il valore dell'attributo nome del nodo elemento in un controllo DropDownlist. Tramite link to XML, e la proprietà attribute possiamo rilevare tali valori.












<?

xml version="1.0" encoding="utf-8"

?>






<

Dati

>






<

Elemento nome="a"

>






<

Valore>testo a</Valore

>






<

Valore>testo2 a</Valore

>






<

Valore>testo3 a</Valore

>






</

Elemento

>






<

Elemento nome="b"

>






<

Valore>testo b</Valore

>






<

Valore>testo2 b</Valore

>






<

Valore>testoe b</Valore

>






</

Elemento

>






<

Elemento nome="c"

>






<

Valore>testo c</Valore

>






<

Valore>testo2 c</Valore

>






</

Elemento

>






</

Dati

>



Qui di seguito si riporta un esempio di codice, per il linguaggio VB.Net e C#




VB.Net




Dim percorso As String = HttpContext.Current.Server.MapPath("~/XMLFile1.xml"

)






'elemento nodo




Dim dati = (From xm In XElement.Load(percorso).Elements("Elemento"

)




Select New ListItem

With




{.Text = xm.Attribute(

"nome"

).Value,




.Value = xm.Attribute(

"nome").Value}).ToList()

'attributo del nodo




 




 




DropDownList1.DataSource = dati




DropDownList1.DataBind()







C#







string percorso = HttpContext.Current.Server.MapPath("~/XMLFile1.xml"

);






//elemento nodo




var dati = (from xm in XElement.Load(@percorso).Elements("Elemento"

)




select new

ListItem




{






//attributo del nodo




Text = xm.Attribute(

"nome"

).Value,




Value = xm.Attribute(

"nome"

).Value




}).ToList();




 




DropDownList1.DataSource = dati;




DropDownList1.DataBind();


Nessun commento: