Creare un documento XML in C#
L'esempio C# mostra come creare un documento xml (XMLDocument) partendo da una sorgente dictionary.
Alla fine il documento viene convertito in testo e rispedito al browser tramite il metodo Save(Response.OutputStream).
Va notato il metodo CreateXmlDeclaration che permette di definire l'encoding dei caratteri da usare.
l'xml risultante sarà:
Alla fine il documento viene convertito in testo e rispedito al browser tramite il metodo Save(Response.OutputStream).
Va notato il metodo CreateXmlDeclaration che permette di definire l'encoding dei caratteri da usare.
C#
//using System.Xml;
XmlDocument xDoc = new XmlDocument();
//XmlNode xNode = xDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
//xDoc.AppendChild(xNode);
XmlDeclaration xDecl = xDoc.CreateXmlDeclaration("1.0", System.Text.Encoding.UTF8.WebName, null);
xDoc.AppendChild(xDecl);
//add root node
XmlElement xRoot = xDoc.CreateElement("", "root", "");
xDoc.AppendChild(xRoot);
//example of source
System.Collections.Generic.Dictionary<string,string> dic = new System.Collections.Generic.Dictionary<string,string>();
dic.Add("elem1", "prova_1");
dic.Add("elem2", "città");
dic.Add("elem3", "L'alba");
//add single node
foreach (string key in dic.Keys)
{
XmlElement xElem = xDoc.CreateElement("key");
xElem.InnerText = dic[key];
xRoot.AppendChild(xElem);
}
//send element to browser
Response.Clear();
Response.ContentType = "text/xml";
xDoc.Save(Response.OutputStream);
//Response.Write(xDoc.OuterXml);
Response.End();
XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<elem1>prova_1</elem1>
<elem2>città</elem2>
<elem3>L'alba</elem3>
</root>