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>
*/
Related examples in the same category