怎样读取XML到DataTable

zhanghaojiefengb 2011-10-01 09:41:58
怎样读取XML到DataTable?得到的DataTable是要绑定到DataGridView的呢。。。

有没有实例可以参考???
...全文
227 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
从开始到现在 2011-10-02
  • 打赏
  • 举报
回复
直接readXML就可以啊
bixulikai 2011-10-01
  • 打赏
  • 举报
回复
补个,有没有封装好的方法???
言多必失 2011-10-01
  • 打赏
  • 举报
回复
这的方法太多了啊。网上找找,
Gemini Dean 2011-10-01
  • 打赏
  • 举报
回复
public void BindDataList()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("Softs.xml"));





DataTable dt = new DataTable();
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("pic", typeof(string));
dt.Columns.Add("Memo", typeof(string));
dt.Columns.Add("Url", typeof(string));

/////还可以采用下面的任一方法,推荐/////

dt = ds.Tables[0].Clone();//copy the structure of ds.Table[0];

dt = ds.Tables[0].Copy();//copy the structure and datas of ds.Table[0];


//////////////////////////////////////////////////

DataRow[] Rows = ds.Tables[0].Select("Type='App'");

DataRow dr;

foreach (DataRow row in Rows)
{
dr = dt.NewRow();
dr["pic"] = row[0].ToString();
dr["Url"] = row[1].ToString();
dr["Memo"] = row[2].ToString();

...........
dt.Rows.Add(dr);

}


// DataList1.DataSource = ds.Tables[0].DefaultView;

DataList1.DataSource = dt.DefaultView;
//ds.Tables[0].Select("Type='Application'").;
DataList1.DataBind();

}

另给两个例子链接
http://www.xueit.com/asp.net/show-5191-2.aspx
http://www.chinaz.com/program/2009/1216/101289.shtml
宝_爸 2011-10-01
  • 打赏
  • 举报
回复
如果xml结构没有问题的话,载入到DataSet中。

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

string xmlData = "<XmlDS><table1><col1>Value1</col1></table1><table1><col1>Value2</col1></table1></XmlDS>";

System.IO.StringReader xmlSR = new System.IO.StringReader(xmlData);

dataSet.ReadXml(xmlSR, XmlReadMode.IgnoreSchema);


参考
在 DataSet 中使用 XML
http://msdn.microsoft.com/zh-cn/library/84sxtbxh(v=vs.80).aspx
春天的气息 2011-10-01
  • 打赏
  • 举报
回复
bixulikai 2011-10-01
  • 打赏
  • 举报
回复
这样好了。
zhanghaojiefeng 2011-10-01
  • 打赏
  • 举报
回复
补个,先学习了
bixulikai 2011-10-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sdl2005lyx 的回复:]

直接这样使用:

DataTable table=new DataTable();
table.ReadXml(xmlFile);
dataGridView1.DataSource=table;
[/Quote]

只是这样吗?
sdl2005lyx 2011-10-01
  • 打赏
  • 举报
回复
直接这样使用:

DataTable table=new DataTable();
table.ReadXml(xmlFile);
dataGridView1.DataSource=table;
yixinpai 2011-10-01
  • 打赏
  • 举报
回复
Mark

110,995

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧