2
这里列是我到目前为止有:填充数据集从XML
public void CreateObject()
{
const string ServerURl = "http://services.odata.org/northwind/northwind.svc/Customers";
DataSet ds = new DataSet();
DataTable sourcetable = new DataTable();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ServerURl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
richTextBox1.AppendText(response.StatusDescription);
Stream datastream = response.GetResponseStream();
StreamReader reader2 = new StreamReader(datastream);
using (StreamReader mySR = new StreamReader(datastream, Encoding.GetEncoding("iso-8859-1")))
{
XmlDocument lgnXml = new XmlDocument();
lgnXml.Load(mySR);
XmlNodeReader reader = new XmlNodeReader(lgnXml);
ds.ReadXml(reader);
foreach (DataTable table in ds.Tables)
{
foreach (DataRow dr in table.Rows)
{
sourcetable.Rows.Add(dr.ItemArray);
}
}
dataGridView1.DataSource = sourcetable;
}
}
private void button1_Click(object sender, EventArgs e)
{
CreateObject();
}
当我试图运行此我得到这个错误: 输入数组比列数较长此表
我猜我必须添加列名到数据集或数据表?我可以用XML做到吗?
编辑这里的响应,当我运行它使用codeninja.sj的方法
+---+-------------------------------------------------------------+----------------------+
| | id | updated |
+---+-------------------------------------------------------------+----------------------+
| 1 | http://services.odata.org/northwind/northwind.svc/Customers | 2016-02-15T20:21:21Z |
+---+-------------------------------------------------------------+----------------------
我尝试了第二种方法,我只在DataGridView有一行回 – Sewder
@Sewder,可以分享你的API响应吗? –
我将它添加到问题 – Sewder