Load data in database table to XML format and save it to DataGrid


   


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Xml;

public class Form1 : System.Windows.Forms.Form {
   private System.Windows.Forms.Button btnReadXml;
   private System.Windows.Forms.Button btnWriteXml;
   private System.Windows.Forms.Button btnConfigXml;
   private System.Windows.Forms.DataGrid dataGrid1;
   private System.ComponentModel.Container components = null;

   public Form1() {
      InitializeComponent();
   }

   private void InitializeComponent() {
      this.btnReadXml = new System.Windows.Forms.Button();
      this.btnWriteXml = new System.Windows.Forms.Button();
      this.btnConfigXml = new System.Windows.Forms.Button();
      this.dataGrid1 = new System.Windows.Forms.DataGrid();
      ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
      this.SuspendLayout();

      this.btnReadXml.Location = new System.Drawing.Point(8, 8);
      this.btnReadXml.Name = "btnReadXml";
      this.btnReadXml.TabIndex = 0;
      this.btnReadXml.Text = "Read XML";
      this.btnReadXml.Click += new System.EventHandler(this.btnReadXml_Click);

      this.btnWriteXml.Location = new System.Drawing.Point(8, 48);
      this.btnWriteXml.Name = "btnWriteXml";
      this.btnWriteXml.TabIndex = 1;
      this.btnWriteXml.Text = "Write XML";
      this.btnWriteXml.Click += new System.EventHandler(this.btnWriteXml_Click);

      this.btnConfigXml.Location = new System.Drawing.Point(8, 88);
      this.btnConfigXml.Name = "btnConfigXml";
      this.btnConfigXml.TabIndex = 2;
      this.btnConfigXml.Text = "Config";
      this.btnConfigXml.Click += new System.EventHandler(this.btnConfigXml_Click);

      this.dataGrid1.DataMember = "";
      this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
      this.dataGrid1.Location = new System.Drawing.Point(104, 8);
      this.dataGrid1.Name = "dataGrid1";
      this.dataGrid1.Size = new System.Drawing.Size(184, 192);
      this.dataGrid1.TabIndex = 3;

      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 272);
      this.Controls.Add(this.dataGrid1);
      this.Controls.Add(this.btnConfigXml);
      this.Controls.Add(this.btnWriteXml);
      this.Controls.Add(this.btnReadXml);
      this.Name = "Form1";
      this.Text = "XML Demo";
      ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
      this.ResumeLayout(false);
   }

   static void Main() {
      Application.Run(new Form1());
   }

   private void btnReadXml_Click(object sender, System.EventArgs e) {
      DataSet ds = new DataSet();
      ds.ReadXml("Employee.xml",XmlReadMode.InferSchema);
      dataGrid1.SetDataBinding(ds, "Employee");
   }

   private void btnWriteXml_Click(object sender, System.EventArgs e) {
      DataSet ds = (DataSet) dataGrid1.DataSource;
      ds.WriteXml("XMLFileOut.xml",XmlWriteMode.IgnoreSchema);    
   }

   private void btnConfigXml_Click(object sender, System.EventArgs e) {
      string connString = @"server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
      SqlConnection conn = new SqlConnection(connString);

      SqlCommand cmd = new SqlCommand();
      cmd.Connection = conn;
      cmd.CommandText = @"select id,lastname from employee for xml auto";

      try {
         conn.Open();
         XmlReader xmlrdr = cmd.ExecuteXmlReader();
         DataSet ds = new DataSet();
         ds.ReadXml(xmlrdr,XmlReadMode.InferSchema);
         dataGrid1.DataSource=ds;
      } catch (SqlException ex) {
         MessageBox.Show (ex.Message);
      } finally  {
         conn.Close();
      }
  }
}


/* File: Employee.xml
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <employee id="1" lastname="Yin       ">
  </employee>
</NewDataSet>

*/
           
          


Save data in DataGrid into XML file


   

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Xml;

public class Form1 : System.Windows.Forms.Form {
   private System.Windows.Forms.Button btnReadXml;
   private System.Windows.Forms.Button btnWriteXml;
   private System.Windows.Forms.Button btnConfigXml;
   private System.Windows.Forms.DataGrid dataGrid1;
   private System.ComponentModel.Container components = null;

   public Form1() {
      InitializeComponent();
   }

   private void InitializeComponent() {
      this.btnReadXml = new System.Windows.Forms.Button();
      this.btnWriteXml = new System.Windows.Forms.Button();
      this.btnConfigXml = new System.Windows.Forms.Button();
      this.dataGrid1 = new System.Windows.Forms.DataGrid();
      ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
      this.SuspendLayout();

      this.btnReadXml.Location = new System.Drawing.Point(8, 8);
      this.btnReadXml.Name = "btnReadXml";
      this.btnReadXml.TabIndex = 0;
      this.btnReadXml.Text = "Read XML";
      this.btnReadXml.Click += new System.EventHandler(this.btnReadXml_Click);

      this.btnWriteXml.Location = new System.Drawing.Point(8, 48);
      this.btnWriteXml.Name = "btnWriteXml";
      this.btnWriteXml.TabIndex = 1;
      this.btnWriteXml.Text = "Write XML";
      this.btnWriteXml.Click += new System.EventHandler(this.btnWriteXml_Click);

      this.btnConfigXml.Location = new System.Drawing.Point(8, 88);
      this.btnConfigXml.Name = "btnConfigXml";
      this.btnConfigXml.TabIndex = 2;
      this.btnConfigXml.Text = "Config";
      this.btnConfigXml.Click += new System.EventHandler(this.btnConfigXml_Click);

      this.dataGrid1.DataMember = "";
      this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
      this.dataGrid1.Location = new System.Drawing.Point(104, 8);
      this.dataGrid1.Name = "dataGrid1";
      this.dataGrid1.Size = new System.Drawing.Size(184, 192);
      this.dataGrid1.TabIndex = 3;

      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 272);
      this.Controls.Add(this.dataGrid1);
      this.Controls.Add(this.btnConfigXml);
      this.Controls.Add(this.btnWriteXml);
      this.Controls.Add(this.btnReadXml);
      this.Name = "Form1";
      this.Text = "XML Demo";
      ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
      this.ResumeLayout(false);
   }

   static void Main() {
      Application.Run(new Form1());
   }

   private void btnReadXml_Click(object sender, System.EventArgs e) {
      DataSet ds = new DataSet();
      ds.ReadXml("Employee.xml",XmlReadMode.InferSchema);
      dataGrid1.SetDataBinding(ds, "Employee");
   }

   private void btnWriteXml_Click(object sender, System.EventArgs e) {
      DataSet ds = (DataSet) dataGrid1.DataSource;
      ds.WriteXml("XMLFileOut.xml",XmlWriteMode.IgnoreSchema);    
   }

   private void btnConfigXml_Click(object sender, System.EventArgs e) {
      string connString = @"server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
      SqlConnection conn = new SqlConnection(connString);

      SqlCommand cmd = new SqlCommand();
      cmd.Connection = conn;
      cmd.CommandText = @"select id,lastname from employee for xml auto";

      try {
         conn.Open();
         XmlReader xmlrdr = cmd.ExecuteXmlReader();
         DataSet ds = new DataSet();
         ds.ReadXml(xmlrdr,XmlReadMode.InferSchema);
         dataGrid1.DataSource=ds;
      } catch (SqlException ex) {
         MessageBox.Show (ex.Message);
      } finally  {
         conn.Close();
      }
  }
}


/* File: Employee.xml
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <employee id="1" lastname="Yin       ">
  </employee>
</NewDataSet>

*/

           
          


Read XML data from file into DataGrid


   


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Xml;

public class Form1 : System.Windows.Forms.Form {
   private System.Windows.Forms.Button btnReadXml;
   private System.Windows.Forms.Button btnWriteXml;
   private System.Windows.Forms.Button btnConfigXml;
   private System.Windows.Forms.DataGrid dataGrid1;
   private System.ComponentModel.Container components = null;

   public Form1() {
      InitializeComponent();
   }

   private void InitializeComponent() {
      this.btnReadXml = new System.Windows.Forms.Button();
      this.btnWriteXml = new System.Windows.Forms.Button();
      this.btnConfigXml = new System.Windows.Forms.Button();
      this.dataGrid1 = new System.Windows.Forms.DataGrid();
      ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
      this.SuspendLayout();

      this.btnReadXml.Location = new System.Drawing.Point(8, 8);
      this.btnReadXml.Name = "btnReadXml";
      this.btnReadXml.TabIndex = 0;
      this.btnReadXml.Text = "Read XML";
      this.btnReadXml.Click += new System.EventHandler(this.btnReadXml_Click);

      this.btnWriteXml.Location = new System.Drawing.Point(8, 48);
      this.btnWriteXml.Name = "btnWriteXml";
      this.btnWriteXml.TabIndex = 1;
      this.btnWriteXml.Text = "Write XML";
      this.btnWriteXml.Click += new System.EventHandler(this.btnWriteXml_Click);

      this.btnConfigXml.Location = new System.Drawing.Point(8, 88);
      this.btnConfigXml.Name = "btnConfigXml";
      this.btnConfigXml.TabIndex = 2;
      this.btnConfigXml.Text = "Config";
      this.btnConfigXml.Click += new System.EventHandler(this.btnConfigXml_Click);

      this.dataGrid1.DataMember = "";
      this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
      this.dataGrid1.Location = new System.Drawing.Point(104, 8);
      this.dataGrid1.Name = "dataGrid1";
      this.dataGrid1.Size = new System.Drawing.Size(184, 192);
      this.dataGrid1.TabIndex = 3;

      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 272);
      this.Controls.Add(this.dataGrid1);
      this.Controls.Add(this.btnConfigXml);
      this.Controls.Add(this.btnWriteXml);
      this.Controls.Add(this.btnReadXml);
      this.Name = "Form1";
      this.Text = "XML Demo";
      ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
      this.ResumeLayout(false);
   }

   static void Main() {
      Application.Run(new Form1());
   }

   private void btnReadXml_Click(object sender, System.EventArgs e) {
      DataSet ds = new DataSet();
      ds.ReadXml("Employee.xml",XmlReadMode.InferSchema);
      dataGrid1.SetDataBinding(ds, "Employee");
   }

   private void btnWriteXml_Click(object sender, System.EventArgs e) {
      DataSet ds = (DataSet) dataGrid1.DataSource;
      ds.WriteXml("XMLFileOut.xml",XmlWriteMode.IgnoreSchema);    
   }

   private void btnConfigXml_Click(object sender, System.EventArgs e) {
      string connString = @"server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
      SqlConnection conn = new SqlConnection(connString);

      SqlCommand cmd = new SqlCommand();
      cmd.Connection = conn;
      cmd.CommandText = @"select id,lastname from employee for xml auto";

      try {
         conn.Open();
         XmlReader xmlrdr = cmd.ExecuteXmlReader();
         DataSet ds = new DataSet();
         ds.ReadXml(xmlrdr,XmlReadMode.InferSchema);
         dataGrid1.DataSource=ds;
      } catch (SqlException ex) {
         MessageBox.Show (ex.Message);
      } finally  {
         conn.Close();
      }
  }
}


/* File: Employee.xml
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <employee id="1" lastname="Yin       ">
  </employee>
</NewDataSet>

*/
           
          


Create XML document: xml element and properties

   

using System;
using System.Xml;

  class XMLDemo{
    [STAThread]
    static void Main(string[] args) {
      XmlDocument xmlDom = new XmlDocument();
      xmlDom.AppendChild(xmlDom.CreateElement("", "books", ""));
      XmlElement xmlRoot = xmlDom.DocumentElement;
      XmlElement xmlBook;
      XmlElement xmlTitle, xmlAuthor, xmlPrice;
      XmlText xmlText;
    
      xmlBook= xmlDom.CreateElement("", "A", "");
      xmlBook.SetAttribute("property", "", "a");
    
      xmlTitle = xmlDom.CreateElement("", "B", "");
      xmlText = xmlDom.CreateTextNode("text");
      xmlTitle.AppendChild(xmlText);
      xmlBook.AppendChild(xmlTitle);
            
      xmlRoot.AppendChild(xmlBook);
    
      xmlAuthor = xmlDom.CreateElement("", "C", "");
      xmlText = xmlDom.CreateTextNode("textg");
      xmlAuthor.AppendChild(xmlText);
      xmlBook.AppendChild(xmlAuthor);
            
      xmlPrice = xmlDom.CreateElement("", "D", "");
      xmlText = xmlDom.CreateTextNode("99999");
      xmlPrice.AppendChild(xmlText);
      xmlBook.AppendChild(xmlPrice);
    
      xmlRoot.AppendChild(xmlBook);
    
      Console.WriteLine(xmlDom.InnerXml);

      xmlDom.Save("books.xml");
      
      XmlDocument xmlDom2 = new XmlDocument();
      xmlDom2.Load("books.xml");
      Console.WriteLine(xmlDom2.InnerXml);

    }
  }


           
          


Append Child

   



using System;
using System.Xml;

class MainClass {
    public static void Main() {
        XmlDocument doc = new XmlDocument();
        XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
        doc.AppendChild(docNode);

        XmlNode productsNode = doc.CreateElement("products");
        doc.AppendChild(productsNode);

        XmlNode productNode = doc.CreateElement("product");
        XmlAttribute productAttribute = doc.CreateAttribute("id");
        productAttribute.Value = "1001";
        productNode.Attributes.Append(productAttribute);
        productsNode.AppendChild(productNode);

        XmlNode nameNode = doc.CreateElement("productName");
        nameNode.AppendChild(doc.CreateTextNode("Coffee"));
        productNode.AppendChild(nameNode);
        XmlNode priceNode = doc.CreateElement("productPrice");
        priceNode.AppendChild(doc.CreateTextNode("0.99"));
        productNode.AppendChild(priceNode);

        productNode = doc.CreateElement("product");
        productAttribute = doc.CreateAttribute("id");
        productAttribute.Value = "1002";
        productNode.Attributes.Append(productAttribute);
        productsNode.AppendChild(productNode);
        nameNode = doc.CreateElement("productName");
        nameNode.AppendChild(doc.CreateTextNode("Tea Pot"));
        productNode.AppendChild(nameNode);
        priceNode = doc.CreateElement("productPrice");
        priceNode.AppendChild(doc.CreateTextNode("12.99"));
        productNode.AppendChild(priceNode);

        doc.Save(Console.Out);
    }
}

           
          


Programmatically creating a new XML document.


   


using System;
using System.Xml;

public class GenerateXml {
    private static void Main() {
        XmlDocument doc = new XmlDocument();
        XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
        doc.AppendChild(docNode);

        XmlNode productsNode = doc.CreateElement("products");
        doc.AppendChild(productsNode);

        XmlNode productNode = doc.CreateElement("product");
        XmlAttribute productAttribute = doc.CreateAttribute("id");
        productAttribute.Value = "01";
        productNode.Attributes.Append(productAttribute);
        productsNode.AppendChild(productNode);

        XmlNode nameNode = doc.CreateElement("Name");
        nameNode.AppendChild(doc.CreateTextNode("Java"));
        productNode.AppendChild(nameNode);
        XmlNode priceNode = doc.CreateElement("Price");
        priceNode.AppendChild(doc.CreateTextNode("Free"));
        productNode.AppendChild(priceNode);

        // Create and add another product node.
        productNode = doc.CreateElement("product");
        productAttribute = doc.CreateAttribute("id");
        productAttribute.Value = "02";
        productNode.Attributes.Append(productAttribute);
        productsNode.AppendChild(productNode);
        nameNode = doc.CreateElement("Name");
        nameNode.AppendChild(doc.CreateTextNode("C#"));
        productNode.AppendChild(nameNode);
        priceNode = doc.CreateElement("Price");
        priceNode.AppendChild(doc.CreateTextNode("Free"));
        productNode.AppendChild(priceNode);

        doc.Save(Console.Out);
    }
}
           
          


Get XML Elements By Tag Name


   


using System;
using System.Xml;

public class FindNodesByName {

    private static void Main() {

        // Load the document.
        XmlDocument doc = new XmlDocument();
        doc.Load("books.xml");

        // Retrieve all prices.
        XmlNodeList nodeList = doc.GetElementsByTagName("B");

        foreach (XmlNode node in nodeList) {
            Console.WriteLine(node.ChildNodes[0].Value);
        }
    }
}

// books.xml
/*
<books>
  <A property="a">
    <B>text</B>
    <C>textg</C>
    <D>99999</D>
  </A>
</books>
*/