Read and Write XML Without Loading an Entire Document into Memory

image_pdfimage_print

using System;
using System.Xml;
using System.IO;
using System.Text;

public class ReadWriteXml {
private static void Main() {
FileStream fs = new FileStream(“products.xml”, FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);

w.WriteStartDocument();
w.WriteStartElement(“products”);

w.WriteStartElement(“product”);
w.WriteAttributeString(“id”, “01”);
w.WriteElementString(“name”, “C#”);
w.WriteElementString(“price”, “0.99”);
w.WriteEndElement();

w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();

Console.WriteLine(“Document created.”);

fs = new FileStream(“products.xml”, FileMode.Open);
XmlTextReader r = new XmlTextReader(fs);

while (r.Read()) {
if (r.NodeType == XmlNodeType.Element) {
Console.WriteLine(“<" + r.Name + ">“);
if (r.HasAttributes) {
for (int i = 0; i < r.AttributeCount; i++) { Console.WriteLine(" ATTRIBUTE: " + r.GetAttribute(i)); } } }else if (r.NodeType == XmlNodeType.Text) { Console.WriteLine(" VALUE: " + r.Value); } } } } [/csharp]

This entry was posted in XML-RPC. Bookmark the permalink.