<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FADO.Net%2FDataSet_Xml</id>
		<title>Csharp/CSharp Tutorial/ADO.Net/DataSet Xml - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FADO.Net%2FDataSet_Xml"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet_Xml&amp;action=history"/>
		<updated>2026-04-30T09:46:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet_Xml&amp;diff=6480&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet_Xml&amp;diff=6480&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet_Xml&amp;diff=6481&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet_Xml&amp;diff=6481&amp;oldid=prev"/>
				<updated>2010-05-26T12:19:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Adding to DataSet and output to Xml==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
public class SaveDiffGram&lt;br /&gt;
{&lt;br /&gt;
    private static string connectionString = &amp;quot;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
    public static void Main() &lt;br /&gt;
    {&lt;br /&gt;
        string SQL = &amp;quot;SELECT TOP 3 CategoryID, CategoryName, Description FROM Categories&amp;quot;;&lt;br /&gt;
        SqlConnection con = new SqlConnection(connectionString);&lt;br /&gt;
        SqlCommand com = new SqlCommand(SQL, con);&lt;br /&gt;
        SqlDataAdapter adapter = new SqlDataAdapter(com);&lt;br /&gt;
        DataSet ds = new DataSet(&amp;quot;Nortwind&amp;quot;);&lt;br /&gt;
        con.Open();&lt;br /&gt;
        adapter.FillSchema(ds, SchemaType.Mapped, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
        adapter.Fill(ds, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
        con.Close();&lt;br /&gt;
        DataRow row = ds.Tables[&amp;quot;Categories&amp;quot;].Rows[0];&lt;br /&gt;
        row[&amp;quot;CategoryName&amp;quot;] = &amp;quot;Computer&amp;quot;;&lt;br /&gt;
        row[&amp;quot;Description&amp;quot;] = &amp;quot;Java, Oracle&amp;quot;;&lt;br /&gt;
        ds.Tables[&amp;quot;Categories&amp;quot;].Rows[1].Delete();&lt;br /&gt;
        row = ds.Tables[&amp;quot;Categories&amp;quot;].NewRow();&lt;br /&gt;
        row[&amp;quot;CategoryName&amp;quot;] = &amp;quot;Tools&amp;quot;;&lt;br /&gt;
        row[&amp;quot;Description&amp;quot;] = &amp;quot;JUnit&amp;quot;;&lt;br /&gt;
        ds.Tables[&amp;quot;Categories&amp;quot;].Rows.Add(row);&lt;br /&gt;
        ds.WriteXml(&amp;quot;mydata.xml&amp;quot; , XmlWriteMode.DiffGram);&lt;br /&gt;
        ds.WriteXml(Console.Out , XmlWriteMode.DiffGram);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output the XSD schema for the DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
      using System.Data;&lt;br /&gt;
      using System.Data.SqlClient;&lt;br /&gt;
          class Program&lt;br /&gt;
          {&lt;br /&gt;
              static void Main(string[] args)&lt;br /&gt;
              {&lt;br /&gt;
                  string xsdFileName = &amp;quot;AdventureWorks.xsd&amp;quot;;&lt;br /&gt;
                  string sqlConnectString = &amp;quot;Data Source=(local);Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
                  string sqlText = &amp;quot;SELECT * FROM Sales.SalesOrderHeader;SELECT * FROM Sales.SalesOrderDetail;&amp;quot;;&lt;br /&gt;
                  SqlDataAdapter da = new SqlDataAdapter(sqlText, sqlConnectString);&lt;br /&gt;
                  da.TableMappings.Add(&amp;quot;Table&amp;quot;, &amp;quot;SalesOrderHeader&amp;quot;);&lt;br /&gt;
                  da.TableMappings.Add(&amp;quot;Table1&amp;quot;, &amp;quot;SalesOrderDetail&amp;quot;);&lt;br /&gt;
                  DataSet ds = new DataSet(&amp;quot;AdventureWorks&amp;quot;);&lt;br /&gt;
                  da.FillSchema(ds, SchemaType.Mapped);&lt;br /&gt;
                  ds.Relations.Add(&amp;quot;SalesOrderHeader_SalesOrderDetail&amp;quot;,&lt;br /&gt;
                      ds.Tables[&amp;quot;SalesOrderHeader&amp;quot;].Columns[&amp;quot;SalesOrderID&amp;quot;],&lt;br /&gt;
                      ds.Tables[&amp;quot;SalesOrderDetail&amp;quot;].Columns[&amp;quot;SalesOrderID&amp;quot;]);&lt;br /&gt;
                  ds.WriteXmlSchema(xsdFileName);&lt;br /&gt;
              }&lt;br /&gt;
          }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Persist a Dataset to an XML file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.OleDb;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {                                                       &lt;br /&gt;
    OleDbConnection MyConnection = new OleDbConnection(&amp;quot;Provider=Microsoft.Jet.OLEDB.4.0; Data Source = c:\\Northwind.mdb&amp;quot;);&lt;br /&gt;
    OleDbDataAdapter MyAdapter = new OleDbDataAdapter(&amp;quot;SELECT * FROM orders&amp;quot;, MyConnection);&lt;br /&gt;
    DataSet MyDataSet = new DataSet();&lt;br /&gt;
    MyAdapter.Fill(MyDataSet, &amp;quot;orders&amp;quot;);&lt;br /&gt;
    MyDataSet.WriteXml(@&amp;quot;c:\Sample.xml&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pop DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class PopDataSet&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string connString = @&amp;quot;server = .\sqlexpress;integrated security = true;database = northwind&amp;quot;;&lt;br /&gt;
            string sql = @&amp;quot;select productname,unitprice from products where unitprice &amp;lt; 20&amp;quot;;&lt;br /&gt;
            SqlConnection conn = new SqlConnection(connString);&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                conn.Open();&lt;br /&gt;
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);&lt;br /&gt;
                DataSet ds = new DataSet();&lt;br /&gt;
                da.Fill(ds, &amp;quot;products&amp;quot;);&lt;br /&gt;
                DataTable dt = ds.Tables[&amp;quot;products&amp;quot;];&lt;br /&gt;
                foreach (DataRow row in dt.Rows)&lt;br /&gt;
                {&lt;br /&gt;
                    foreach (DataColumn col in dt.Columns)&lt;br /&gt;
                        Console.WriteLine(row[col]);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;Error: &amp;quot; + e);&lt;br /&gt;
            }&lt;br /&gt;
            finally&lt;br /&gt;
            {&lt;br /&gt;
                conn.Close();&lt;br /&gt;
            };&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Read an xml file into a dataset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Data;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
    string MyXMLDoc = @&amp;quot;&amp;lt;title&amp;gt; MyExample&amp;lt;/title&amp;gt;&amp;quot;;&lt;br /&gt;
    StringReader MyStringReader = new StringReader(MyXMLDoc);&lt;br /&gt;
    DataSet MyDataSet = new DataSet();&lt;br /&gt;
    MyDataSet.ReadXml(MyStringReader);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Save DataSet to disk with schema==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
public class SaveDataSet&lt;br /&gt;
{&lt;br /&gt;
    private static string connectionString = &amp;quot;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
    public static void Main() &lt;br /&gt;
    {&lt;br /&gt;
        string SQL = &amp;quot;SELECT CategoryID, CategoryName,Description FROM Categories&amp;quot;;&lt;br /&gt;
        SqlConnection con = new SqlConnection(connectionString);&lt;br /&gt;
        SqlCommand com = new SqlCommand(SQL, con);&lt;br /&gt;
        SqlDataAdapter adapter = new SqlDataAdapter(com);&lt;br /&gt;
        DataSet ds = new DataSet(&amp;quot;Nortwind&amp;quot;);&lt;br /&gt;
        con.Open();&lt;br /&gt;
        adapter.FillSchema(ds, SchemaType.Mapped, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
        adapter.Fill(ds, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
        con.Close();&lt;br /&gt;
        ds.WriteXmlSchema(&amp;quot;mydata.xsd&amp;quot;);&lt;br /&gt;
        ds.WriteXml(&amp;quot;mydata.xml&amp;quot;);&lt;br /&gt;
        ds.Reset();&lt;br /&gt;
        ds.ReadXmlSchema(&amp;quot;mydata.xsd&amp;quot;);&lt;br /&gt;
        ds.ReadXml(&amp;quot;mydata.xml&amp;quot;);&lt;br /&gt;
        Console.WriteLine(ds.GetXml());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Transform Data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Xsl;&lt;br /&gt;
public class MainClass{&lt;br /&gt;
  public static void Main(string [] args) {&lt;br /&gt;
    DataSet dataSet = new DataSet(&amp;quot;Product&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    SqlConnection connection = new SqlConnection(&amp;quot;Initial Catalog=Product; Integrated Security=SSPI; User ID=sa&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    SqlDataAdapter customersAdapter = new SqlDataAdapter(&amp;quot;SELECT * FROM customers&amp;quot;, connection);&lt;br /&gt;
    SqlDataAdapter couponsAdapter = new SqlDataAdapter(&amp;quot;SELECT * FROM coupons&amp;quot;, connection);&lt;br /&gt;
    SqlDataAdapter couponRedemptionsAdapter = new SqlDataAdapter(&amp;quot;SELECT * FROM coupon_redemptions&amp;quot;, connection);&lt;br /&gt;
    &lt;br /&gt;
    customersAdapter.Fill(dataSet, &amp;quot;customers&amp;quot;);&lt;br /&gt;
    couponsAdapter.Fill(dataSet, &amp;quot;coupons&amp;quot;);&lt;br /&gt;
    couponRedemptionsAdapter.Fill(dataSet, &amp;quot;coupon_redemptions&amp;quot;);&lt;br /&gt;
    XmlDataDocument doc = new XmlDataDocument(dataSet);&lt;br /&gt;
    &lt;br /&gt;
    XmlTextWriter writer = new XmlTextWriter(Console.Out);&lt;br /&gt;
    writer.Formatting = Formatting.Indented;&lt;br /&gt;
    &lt;br /&gt;
    XslTransform transform = new XslTransform();&lt;br /&gt;
    transform.Load(&amp;quot;Coupons.xsl&amp;quot;);&lt;br /&gt;
    transform.Transform(doc, null, writer);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Write Xml==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class WriteXML&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string connString = @&amp;quot;server = .\sqlexpress;integrated security = true;database = northwind&amp;quot;;&lt;br /&gt;
            string qry = @&amp;quot;select productname,unitprice from products&amp;quot;;&lt;br /&gt;
            SqlConnection conn = new SqlConnection(connString);&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                SqlDataAdapter da = new SqlDataAdapter();&lt;br /&gt;
                da.SelectCommand = new SqlCommand(qry, conn);&lt;br /&gt;
                conn.Open();&lt;br /&gt;
                DataSet ds = new DataSet();&lt;br /&gt;
                da.Fill(ds, &amp;quot;products&amp;quot;);&lt;br /&gt;
                ds.WriteXml(&amp;quot;table.xml&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;Error: &amp;quot; + e);&lt;br /&gt;
            }&lt;br /&gt;
            finally&lt;br /&gt;
            {&lt;br /&gt;
                conn.Close();&lt;br /&gt;
            } &lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>