Utilizzare SQLXML per creare documenti XML con ASP.NET

di Daniele Bochicchio, in ASP.NET, C#, XML,

Continuiamo la trattazione di SQLXML con la creazione di uno script ASP.NET in grado di visualizzare a video il risultato di una query XML restituita da SQL Server.
Pur potendo sfruttare le classi managed, è preferibile utilizzare semplicemente la classe SqlCommand per l'estrazione dei dati, se il nostro interesse è semplicemente rivolto alla visualizzazione dei dati.

<%@ Import namespace="System.Data"%>
<%@ Import namespace="System.Data.SqlClient"%>
<SCRIPT RUNAT="SERVER" Language="C#">
void Page_Load() {
 // root XML dei dati
 string root = "dati";

 // imposto il ContenType e scrivo la root
 Response.ContentType = "text/xml";
 Response.Write("<" + root + ">");

 // definisco la query SQL
 string sql = "SELECT * FROM titles FOR XML AUTO, ELEMENTS";

 // effettuo la connessione
 SqlConnection conn =  new SqlConnection("Data Source=(local); Initial Catalog=pubs; Integrated Security=SSPI;");
 conn.Open();

 // recupero i dati un po' alla volta con la classe SqlCommand
 SqlCommand cmd = new SqlCommand(sql, conn);
 SqlDataReader dr = cmd.ExecuteReader();
 while (dr.Read()) {
  Response.Write(dr[0].ToString());
 }

 conn.Close();

 // chiudo la root XML
 Response.Write("</" + root + ">");
}

</SCRIPT>

In alternativa sarebbe possibile utilizzare il metodo ExecuteXmlReader() della classe SqlCommand.
Con una rapida occhiata tramite Reflector si può notare, però, che, proprio per la sua predisposizione verso XML, questo metodo sarebbe meno performante per la scrittura diretta a video dell'output.

Approfondimenti


Query XML con T-SQL e SQL Server 2000
https://www.aspitalia.com/articoli/db/xmlt-sql.aspx

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