Si possono creare documenti XML all'interno del .NET Framework sfruttando diversi approcci.
E' interessante l'utilizzo della classe XmlTextWriter, che troviamo nel namespace System.Xml e che eredita da XmlWriter.
E' necessario associare uno stream all'oggetto XmlTextWriter appena creato: nel nostro esempio utilizziamo lo stream di risposta, ma si potrebbe scegliere un qualsiasi altro stream.
Il metodo WriteStartElement apre un nuovo tag. Utile quando bisogna aggiungere attributi ad un tag (attraverso WriteAttributeString) o altri tag annidati.
WriteEndElement è la controparte e va richiamato sempre per aggiungere il tag di chiusura.
All'interno del ciclo vengono invece create diverse chiavi, una delle quali attraverso l'uso del metodo WriteRaw aggiunge delle sezioni .
In realtà può essere utilizzato anche per altri scopi, come aggiungere l'intestazione XML con l'encoding, oppure dei commenti all'interno del documento XML.
Infine il metodo WriteElementString può essere sfruttato per aggiungere una chiave con il valore associato.
Segue un esempio:
<%@ Import Namespace="System.Xml"%>
<script runat="server" Language="C#">
public void Page_Load() {
Response.ContentType = "text/xml";
// creo un nuovo oggetto XmlTextWriter con output
// sullo stream dell'oggetto Response
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.Default);
writer.Formatting = Formatting.Indented;
// aggiungo l'intestazione XML
writer.WriteRaw("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
// apro la root
writer.WriteStartElement("root");
// aggiungo un attributo
writer.WriteAttributeString("attributo","valore");
// apro nuovo tag
writer.WriteStartElement("items");
// chiavi interne
writer.WriteElementString("chiave", "valore");
writer.WriteElementString("chiave2", "valore2");
// ciclo per inserire nuove chiavi
for(int i = 0; i < 15; i++)
{
writer.WriteStartElement("item");
// chiave interna
writer.WriteElementString("numero", i.ToString());
// scrive in modalità raw
writer.WriteStartElement("testo");
writer.WriteRaw("<![CDATA[Questo è un test con caratteri <>]]>");
// chiudo tag testo
writer.WriteEndElement();
// chiudo tag item
writer.WriteEndElement();
}
// chiudo tag items
writer.WriteEndElement();
// chiudo tag root
writer.WriteEndElement();
// scrivo a video e chiudo lo stream
writer.Flush();
writer.Close();
}
</script>
Per vedere all'opera lo script:
http://www.aspitalia.com/liste/usag/esempi.aspx?ID=507
Per un tutorial su XML si veda:
http://xml.aspitalia.com/
- Galleria fotografica dinamica con ASP.NET AJAX
- Prima October Preview per ASP.NET 4.0
- Future Web Conference e .NET 3.5
- Ufficiali Visual Studio 2010 e .NET Framework 4.0
- Introduzione ad ASP.NET 3.5
- un visualizzatore di eccezioni parte 1: helper
- #65 - Effettuare il backup dell'event viewer con LINQ to XML
- #921 - Specificare un tipo custom come valore di un parametro di selezione dell'ObjectDataSource
- Tutto per portarsi il .NET Framework 3.5 sotto l'ombrellone
- Beta 2 per Internet Explorer 8
- LINQ oltre SQL e XML: creare un provider per l'integrazione con Live Search
- #40 - Costruire un file XML tramite una query con LINQ
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.








Stampa
Snippet
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
articolo interessantissimo ma per chi inizia non è facile modificarlo per le proprie esigenze. per esempio come posso implementare lo script avendo ...
Continua »»» | Rispondi »»»