La classe XmlTextReader per l'accesso rapido a file XML

di Daniele Bochicchio, in ASP.NET, XML, System.Xml,

La classe XmlTextReader permette di leggere il contenuto di un file XML, in locale o in remoto, in maniera sequenziale, accedendo ai dati con una logica simile a quella che viene utilizzata per la lettura di un DataReader o di un file di testo.
Il vantaggio rispetto all'utilizzo di un DataSet per accedere a file XML è che in presenza di grandi file, XmlTextReader non carica in memoria tutto il contenuto del file, rendendo più rapido l'accesso agli stessi.

<%@ Import Namespace="System.Xml" %>
<SCRIPT runat="server" language="C#">
void Page_Load()
{
  // dove si trova il file XML? può anche essere un URL
  string url = Server.MapPath("file.xml");

  // creo un'istanza di XmlTextReader
  XmlTextReader xml = new XmlTextReader(url);

  string text;
  while(xml.Read())
  {

    // se è un nodo
    if(xml.NodeType==XmlNodeType.Element)
    {
      // in xml.Name c'è il nome del nodo
      if(xml.Name == "book")
      {
        output.Text += "<li>";

          text = xml.GetAttribute("price");

        // testo interno
        output.Text += xml.ReadString();

        // attributo
        output.Text += " - Euro: " + text;

      }
    }
  }

  // chiudiamo l'oggetto
  xml.Close();
}
</script>
<asp:literal id="output" runat="server" />

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