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> */