Материал из .Net Framework эксперт
Create Data with DataSet and DataRow and save to xml
using System;
using System.Data;
public enum DiscountType {
Percentage,
Fixed
}
public class CreateData {
public static void Main(string [] args) {
DataSet dataSet = new DataSet();
dataSet.ReadXmlSchema("Coupons.xsd");
DataTable couponsTable = dataSet.Tables["coupons"];
DataRow couponRow = couponsTable.NewRow();
couponRow["mycode"] = "763FF";
couponRow["amount"] = 0.5;
couponRow["mytype"] = DiscountType.Fixed;
couponRow["my_date"] = new DateTime(2002,12,31);
couponsTable.Rows.Add(couponRow);
dataSet.WriteXml("Coupons.xml");
}
}
Fill DataSet with the data from XML
using System;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
using System.Data.rumon;
using System.Data;
class MainClass
{
static void Main(string[] args)
{
DataSet ds = new DataSet();
ds.ReadXml(@"c:\Sample.xml ");
}
}
Load XML to DataSet
using System;
using System.Drawing;
using System.Collections;
using System.ruponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using System.Xml;
public class LoadXMLDataSet : System.Windows.Forms.Form
{
private DataGrid dataGrid1= new DataGrid();
public LoadXMLDataSet()
{
this.dataGrid1.DataMember = "";
this.dataGrid1.Location = new System.Drawing.Point(8, 16);
this.dataGrid1.Size = new System.Drawing.Size(264, 232);
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.dataGrid1});
XmlDataDocument xmlDatadoc = new XmlDataDocument();
xmlDatadoc.DataSet.ReadXml("C:\\books.xml");
DataSet ds = new DataSet("Books DataSet");
ds = xmlDatadoc.DataSet;
dataGrid1.DataSource = ds.DefaultViewManager;
}
static void Main()
{
Application.Run(new LoadXMLDataSet());
}
}
Output DataSet to Xml
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
class Program
{
static void Main(string[] args)
{
DataSet carsInventoryDS = new DataSet("Car");
carsInventoryDS.ExtendedProperties["TimeStamp"] = DateTime.Now;
carsInventoryDS.ExtendedProperties["DataSetID"] = Guid.NewGuid();
carsInventoryDS.ExtendedProperties["Company"] = "Training";
DataColumn carIDColumn = new DataColumn("CarID", typeof(int));
carIDColumn.Caption = "Car ID";
carIDColumn.ReadOnly = true;
carIDColumn.AllowDBNull = false;
carIDColumn.Unique = true;
carIDColumn.AutoIncrement = true;
carIDColumn.AutoIncrementSeed = 0;
carIDColumn.AutoIncrementStep = 1;
DataColumn carMakeColumn = new DataColumn("Make", typeof(string));
DataColumn carColorColumn = new DataColumn("Color", typeof(string));
DataColumn carPetNameColumn = new DataColumn("PetName", typeof(string));
carPetNameColumn.Caption = "Pet Name";
DataTable inventoryTable = new DataTable("Inventory");
inventoryTable.Columns.AddRange(new DataColumn[] { carIDColumn, carMakeColumn, carColorColumn, carPetNameColumn });
DataRow carRow = inventoryTable.NewRow();
carRow["Make"] = "BMW";
carRow["Color"] = "Black";
carRow["PetName"] = "Hamlet";
inventoryTable.Rows.Add(carRow);
carRow = inventoryTable.NewRow();
carRow[1] = "A";
carRow[2] = "B";
carRow[3] = "C";
inventoryTable.Rows.Add(carRow);
inventoryTable.PrimaryKey = new DataColumn[] { inventoryTable.Columns[0] };
carsInventoryDS.Tables.Add(inventoryTable);
// Save this DataSet as XML.
carsInventoryDS.WriteXml("carsDataSet.xml");
carsInventoryDS.WriteXmlSchema("carsDataSet.xsd");
// Clear out DataSet.
carsInventoryDS.Clear();
// Load DataSet from XML file.
carsInventoryDS.ReadXml("carsDataSet.xml");
}
}
Reading XML with DataSet
using System;
using System.Data;
using System.Collections.Generic;
using System.Text;
class Program
{
static void Main(string[] args)
{
DataSet thisDataSet = new DataSet();
thisDataSet.ReadXml("nwinddata.xml");
foreach (DataRow custRow in thisDataSet.Tables["Customers"].Rows)
{
Console.WriteLine("Customer ID: " + custRow["CustomerID"] +
" Name: " + custRow["CompanyName"]);
}
Console.WriteLine("Table created by ReadXml is called {0}",
thisDataSet.Tables[0].TableName);
}
}
Save data in a DataSet to xml document
using System;
using System.IO;
using System.Xml;
using System.Data;
class MainClass
{
public static void Main()
{
DataSet ds = new DataSet("DS");
ds.Namespace = "StdNamespace";
DataTable stdTable = new DataTable("Student");
DataColumn col1 = new DataColumn("Name");
DataColumn col2 = new DataColumn("Address");
stdTable.Columns.Add(col1);
stdTable.Columns.Add(col2);
ds.Tables.Add(stdTable);
DataRow newRow;newRow = stdTable.NewRow();
newRow["Name"]= "M C";
newRow["Address"]= "address 1";
stdTable.Rows.Add(newRow);
newRow = stdTable.NewRow();
newRow["Name"]= "M G";
newRow["Address"]= "address1";
stdTable.Rows.Add(newRow);
ds.AcceptChanges();
StreamWriter myStreamWriter = new StreamWriter(@"c:\stdData.xml");
ds.WriteXml(myStreamWriter);
myStreamWriter.Close();
}
}