读书人

DataSet读取Xml有关问题

发布时间: 2012-01-26 19:40:46 作者: rapoo

DataSet读取Xml问题
假如我有一xml文件结构如下
<root>
<row>
<key> A </key>
<value> 1 </value>
</row>
<row>
<key> B </key>
<value> 2 </value>
</row>
<row>
<key> A </key>
<value> 3 </value>
</row>
</root>

现在我要用dataset把row下面节点key为A的记录都读到datagrid或gridview里面去
应怎样写才好?请路高手帮帮忙!!!

[解决办法]
DataSet ds = new DataSet();
ds.ReadXML();
[解决办法]
DataSet ds = new DataSet();
DataSet myDataSet = new DataSet();
FileStream fin ;
fin = new FileStream(Server.MapPath( "xmlfile.xml "),FileMode.Open,FileAccess.Read,FileShare.ReadWrite) ;
ds.ReadXml(fin);
fin.Close();
DataTable customerTable = ds.Tables[0];
DataView dv=new DataView(customerTable, "key= 'A ' ", "key ",DataViewRowState.CurrentRows);
......
[解决办法]
DataSet dset = new DataSet();
dset.ReadXml( "D:\\my.xml ");
DataTable dt = dset.Tables[0];
DataView dv = new DataView(dt, "key= 'A ' ", "key ", DataViewRowState.CurrentRows);
GridViewList.DataSource = dv;
[解决办法]
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath( "XMLFile.xml "));

DataTable dtRtn = new DataTable();
dtRtn.Columns.Add( "key ");
dtRtn.Columns.Add( "value ");
DataRow drNew = null;
int intRow = ds.Tables[ "row "].Rows.Count;
for (int i = 0; i < intRow; i++)
{
drNew = dtRtn.NewRow();
if (ds.Tables[ "row "].Rows[i][ "key "].ToString().Equals( "A "))
{
drNew[ "key "] = ds.Tables[ "row "].Rows[i][ "key "];
drNew[ "value "] = ds.Tables[ "row "].Rows[i][ "value "];
dtRtn.Rows.Add(drNew);
}
}

this.grvRtn.DataSource = dtRtn;
this.grvRtn.DataBind();
[解决办法]
DataSet ds = new DataSet(); ds.ReadXml(Server.MapPath( "s.xml ")); DataGrid dg = new DataGrid(); DataView dv = ds.Tables[0].DefaultView; dv.RowFilter = "Key= 'A ' "; dg.DataSource = dv; dg.DataBind(); this.panel1.Controls.Add(dg);
[解决办法]
如果你的XML是一个字符串,且想操作DataSet中的表,如下:
string xml;
DataSet ds = new DataSet();
StringReader sr = new StringReader(xml);

ds.ReadXml(sr);

DataTable dt = ds.Tables[0];
DataRow[] foundRow;
foundRow = dt.Select( "key= 'A ' ", " ");
foreach (DataRow dr in foundRow)


{
//操作表
}
[解决办法]
可以.应该是保存在文件中吧?
[解决办法]
System.Xml.XmlDocument dom = new System.Xml.XmlDocument(); dom.Load(Server.MapPath( "s.xml ")); System.Xml.XmlNodeList nl = dom.SelectNodes( "//row[key= 'A '] "); DataGrid dg = new DataGrid(); dg.DataSource = nl; dg.DataBind(); this.panel1.Controls.Add(dg);因为字段比较多,你只需要name和innerText两个
[解决办法]
System.Xml.XmlDocument dom = new System.Xml.XmlDocument(); dom.Load(Server.MapPath( "s.xml ")); System.Xml.XmlNodeList nl = dom.SelectNodes( "//row[key= 'A '] "); DataTable dt = new DataTable(); dt.Columns.Add( "key "); dt.Columns.Add( "value "); for(int i=0;i <nl.Count;i++) { dt.Rows.Add(nl[i].ChildNodes[0].InnerText, nl[i].ChildNodes[1].InnerText); } DataGrid dg = new DataGrid(); dg.DataSource = dt.DefaultView; dg.DataBind(); this.panel1.Controls.Add(dg);
[解决办法]
楼主可参见我的文章
《xml与DataSet的互转换类》
http://www.cnblogs.com/heekui/archive/2007/01/31/635651.html

读书人网 >asp.net

热点推荐