Spesso c'è la necessità di estrarre una riga a caso da un file XML. Lo script di oggi consente di specificare un file ed un nodo tra cui estrarre a caso i relativi nodi, sotto forma di DataRow.
Per l'esempio si è scelto l'utilizzo del DataSet, che consente un rapido caricamento di un file XML sotto forma di DataTable, DataRows e DataColumns.
<%@Import namespace="System.Data"%> <SCRIPT RUNAT="SERVER" LANGUAGE="C#"> void Page_Load() { DataRow dr = GetRandom(Server.MapPath("feed.xml"), "item"); // mostro a video tutte le colonne ed i rispettivi valori for (int i=0; i<dr.Table.Columns.Count; i++) Response.Write("<li>" + dr.Table.Columns<i>.ToString() + ": " + dr<i>.ToString()); } DataRow GetRandom(string path, string item) { // carico il file XML DataSet ds = new DataSet(); ds.ReadXml(path); // estraggo un nodo a caso tra quelli presenti Random rnd = new Random(); return ds.Tables[item].Rows[rnd.Next(0, ds.Tables[item].Rows.Count)]; } </SCRIPT>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Nessuna risorsa collegata