这是我能够做到的事情,但我很想听听人们对最佳方法的看法。我在网络http://www.someplace.com/file上有一个XML文件,我正在编写一个Web服务,它将获取该数据并将其转换为DataTable对象,然后返回数据表。我们正在使用c#3.5。您认为解决这个问题的最佳方法是什么?
答案 0 :(得分:4)
只需将XML文件下载到本地磁盘,然后创建DataTable,并在其上调用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
{ }
马克
答案 1 :(得分:2)
DataTable dt = new DataTable();
dt.ReadXml("c:myxml.xml");
答案 2 :(得分:0)
您可以将XML解析为DataSet并获取它的DataTable:
DataSet dataSet = new DataSet();
dataSet.ReadXml("input.xml", XmlReadMode.ReadSchema);