1.获取Dataset的XML表示
……….
//Create a DataAdapter for each of the tables we’s filling
SqlDataAdapter daCustomers = new SqlDataAdapter(“select * from coutomer;”,con);
SqlDataAdapter daInvoices = new SqlDataAdapter(“select * from invoicer;”,con);
SqlDataAdapter daInvoiceItems = new SqlDataAdapter(“select * from invoiceitem;”,con);
//Create your blank DataSet
DataSet dataset = new DataSet();
//Fill the DataSet with each DataAdapter
daCustormers.Fill(dataset,”Customers”);
daInvoices.Fill(dataset,”Invoices”);
daInvoiceItems.Fill(dataset,”InvoiceItems”);
//Close the connection
Conn.Close();
//Grab our tables for simplicity
DataTable customerTable = dataSet.Tables[“Customers”];
DataTable invoiceTable = dataSet.Tables[“Invoices”];
DataTable invoiceitemsTable = dataSet.Tables[“InvoiceItems”];
//set up PrimaryKeys
customerTable.PrimaryKey = new DataColumn[]
{customerTable.Columns[“CustomerID”]};
customerTable.PrimaryKey = new DataColumn[]
{invoiceTable.Columns[“InvoiceID”]};
customerTable.PrimaryKey = new DataColumn[]
{invoiceItemTable.Columns[“InvoiceItemID”]};
dataset.Relations.Add(“Invoice_InvoiceItems”,
dataset.Tables[“Invoices”].Columns[“InvoiceID”],
dataset.Tables[“InvoiceItems”].Columns[“InvoiceID”],
true);
dataset.relation.Add(“Customers_Invoices”,
dataset.Table[“Customers”].Columns[“CustomerID”],
dataset.Table[“Invoices”].Columns[“CustomerID”],
true);
//write out the xml file
Console.WriteLine(dataset.GetXml());
2.将关系标记为嵌套:在上面代码中添加如下代码.
……
Dataset.Relation[“Customers_Invoices”].Nested=true;
Dataset.Relation{“Invoices_InvoiceItems”}.Nested=true;
Console.WriteLine(dataset.GetXml());
3.调用DataColumn的结构
指定DataColumn.MappingType
………
Foreach(DataColumn col in customerTable.Columns)
Col.ColumnMapping = MappingType.Attribute;
//其它数据库表同上一样…..
//Write the XML file out
Dataset.WriteXml(“test.xml”);
注:MappingType支持以下映射类型:
Element:将列映射到XML元素,这是默认设置.
Attribue:将列映射到XML属性.
Hidden:将列映射到内部结构,列在XML中隐藏.
SimpleContent:将列映射到XMLTEXT节点.
-------------------------
呼~!真的是打得好累哈,后面的代码不愿打了..等我有心情再说吧,看样子,还是没事去找别人的贴子贴好了,反正自己留着看的..