2015-08-27 33 views
0

我有XML文件,我可以輕鬆加載到數據集中。c#如何從數據集或XML文件創建一個類型化的數據集?

DataSet ds = new DataSet(); 
    ds.ReadXml(e.FullPath); 

但是,我確實喜歡有一個類型化的數據集。
有沒有辦法從XML或無類型數據集中構建類型化數據集?

這裏的目標是避免設計它,因爲有很多列,它可以消除輸入時出現錯誤的變化。

+1

可以生成與[XSD.EXE]類型化的數據集(https://msdn.microsoft.com/en-us/library/x6c1kb0s(V = vs.110)的.aspx) – Crowcoder

+1

保存文件使用模式時:ds.WriteXml(「filename」,XmlWriteMode.WriteSchema); – jdweng

回答

1

這真的很容易做到。這是一步一步的。
(您當然必須安裝visual studio)

1.從XML文件創建一個XSD文件。

這可以通過將XML文件加載到數據集中然後編寫架構來實現。

 DataSet ds = new DataSet(); 
     ds.ReadXml(e.FullPath); 
     ds.WriteXml(@"C:\test.xsd", XmlWriteMode.WriteSchema); 

確認XSD文件很好,並且不包含垃圾。

2.找到計算機上「xsd.exe」的位置。
在我的情況,就在這裏:
C:\ Program Files文件(x86)的\微軟的SDK \的Windows \ v8.0A \ BIN \ NETFX 4.0工具

3.複製/粘貼XSD文件到步驟2的找到的文件夾。

4.運行命令提示符並將目錄更改爲找到的步驟2的文件夾。

打開命令提示符(Windows + R,鍵入「cmd」並按回車鍵)。然後切換到該目錄住房的可執行文件(「CD輸入,您的目錄,在這裏」)

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools 

快速提示,您可以複製/目錄粘貼到使用鼠標的右鍵的提示。

5.從命令提示符下,啓動具有所需參數的xsd.exe。
在命令提示符處鍵入或粘貼以下命令,然後按Enter鍵。

xsd.exe /d /l:cs test.xsd /eld /n:MyDesiredNameSpace 

你可以找到關於如何傳遞給論點msdn documentation.

鑑於你的XSD文件的細節是有效的,它會輸出一個CS文件到文件夾中。這是什麼控制檯輸出。

Command output

6.包含生成的文件到您的項目。
將生成的.cs文件複製並粘貼到解決方案文件夾中,並將其包含到您的項目中。 使用(右擊包括現有項目)
Include file into project

7.重命名類型化的DataSet以適當的名稱。
新生成的類型數據集的類型是「NewDataset」。
重命名爲更體面的名稱。 (使用重構功能) Rename typed dataset

相關問題