2015-05-19 44 views
2

我有下面列的表格,從SQL表創建XML與柱形圖案

SALES_ORDERS.ORDER_SLIP.NUMBER|SALES_ORDERS.ORDER_SLIP.DATE|SALES_ORDERS.ORDER_SLIP.ARP_CODE 

和XML輸出我需要的是像下面

<SALES_ORDERS> 
    <ORDER_SLIP> 
    <NUMBER>TEST</NUMBER> 
    <DATE>02.09.2014</DATE> 
    <ARP_CODE>CARI1</ARP_CODE> 
    </ORDER_SLIP> 
</SALES_ORDERS> 

我需要創建XML根據包含從頂部全路徑方式的列名稱。

如何從這樣的表中存檔這樣的XML文件?如果有必要,我可以使用LINQ,但我不知道該怎麼做?

+1

你進去看了[FOR XML(https://msdn.microsoft.com/en-us/library/ms178107.aspx)命令? – RadioSpace

+0

我已經看過它,但它不能做到我需要 –

+0

與數據格式化的方式確保。但是如何編寫一個帶有表格變量的查詢,這些表格變量以一種使用FOR XML來正確顯示數據的方式來排列數據。 – RadioSpace

回答

0

太容易

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Data; 
using System.Data.SqlClient; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const string FILENAME = @"c:\temp\test.xml"; 
     static void Main(string[] args) 
     { 
      string SQL = "Enter Your SQL Select string here"; 
      string connStr = "Enter You connection string here"; 

      SqlDataAdapter adapter = new SqlDataAdapter(SQL, connStr); 

      DataSet ds = new DataSet(); 
      adapter.Fill(ds); 
      ds.DataSetName = "SALES_ORDERS"; 

      ds.WriteXml(FILENAME, XmlWriteMode.WriteSchema); 
     } 
    } 
} 
​