這是我能夠做到的事情,但我很好奇聽到人們關於最佳方式的想法。我在http://www.someplace.com/file上有一個坐在網上的XML文件,我正在編寫一個Web服務,它將獲取該數據並將其轉換爲DataTable對象,然後返回該數據表。我們正在使用c#3.5。你認爲解決這個問題的最好方法是什麼?將XML轉換爲DataTable
2
A
回答
4
簡單的XML文件下載到本地磁盤,然後創建數據表,並在其上調用DataTable.ReadXml(filename) .....還是我失去了一些東西....
的DataTable.ReadXml甚至支持流 - 所以你可以直接將它掛接到你的WebResponse流,從該URL下載XML。
(這是未經測試,從內存中 - 但應該給你一個想法如何處理這個):
DataTable myDataTable = new DataTable();
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(new Uri("http://someplace/somefile.xml");
myRequest.Method = "GET";
WebResponse myResponse;
try
{
myResponse = myRequest.GetResponse();
using (Stream responseStream = myResponse.GetResponseStream())
{
myDataTable.ReadXml(responseStream);
}
}
catch
{ }
馬克
2
DataTable dt = new DataTable();
dt.ReadXml("c:myxml.xml");
0
你可以分析你的XML數據集,並得到它的數據表:
DataSet dataSet = new DataSet();
dataSet.ReadXml("input.xml", XmlReadMode.ReadSchema);
+0
實際上,XML位於我的域之外,所以我必須將其保存到磁盤,然後加載它。我希望避免那裏的IO成本。 – cerhart 2009-09-07 13:56:57
相關問題
- 1. 將Xml轉換爲DataTable
- 2. 在XML中將XML轉換爲DATATABLE
- 3. 如何將datatable轉換爲xml?
- 4. 將DataRow []轉換爲DataTable的ASP.NET轉換
- 5. 將CellSet轉換爲DataTable
- 6. 將datatable轉換爲datareader
- 7. 將DataTable轉換爲對象[,]
- 8. 將SPListItemCollection轉換爲DataTable
- 9. 將Datatable轉換爲PDF
- 10. C#將Datatable轉換爲
- 11. 將Iqueryable轉換爲DataTable
- 12. 將DataTable轉換爲CSV流
- 13. 將DataSet \ DataTable轉換爲CSV
- 14. 將DataTable轉換爲JSON
- 15. 將IEnumerable轉換爲DataTable
- 16. 將LINQ轉換爲DataTable
- 17. DataGrigView轉換爲DataTable
- 18. 將datatable轉換爲xml給出outofmemory異常
- 19. 根據使用C#的兩個屬性將XML轉換爲DataTable
- 20. 將DataTable轉換爲XML文件並反之亦然
- 21. 需要幫助將DataTable轉換爲XML VB.NET
- 22. 如何將DataTable轉換爲C#中的XML文件?
- 23. 將許多級別的Xml轉換爲一個DataTable
- 24. 將XML轉換爲XML,將屬性轉換爲元素
- 25. 如何將DataTable轉換爲IDatareader?
- 26. 將DataTable的單列轉換爲CSV
- 27. 動態地將TreeNode轉換爲DataTable
- 28. 如何將BindingSource轉換爲DataTable?
- 29. 將Datatable轉換爲C#中的數組
- 30. 將DataTable值轉換爲通用類型
我不想要IO成本,是我唯一的選擇,可以循環訪問內存中的XML文檔,並將其手動添加到數據表中? – cerhart 2009-09-07 14:00:06
對不起,懶讀書。我可以使用網絡請求流。聽起來很棒! – cerhart 2009-09-07 14:01:51