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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.