#668 - La classe XmlTextReader per l'accesso rapido a file 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" />


Approfondimenti
Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.