Estrarre un nodo a caso da un file XML con il DataSet

di Daniele Bochicchio, in ASP.NET, C#, System.Data,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi