XML内容如下,我现在想把searchCount下面每个add的key,value读取进DataTable.
<?xml version="1.0" encoding="utf-8" ?>
<items>
<searchCount>
<add key="10" value="10" />
<add key="20" value="20" />
<add key="30" value="30" />
<add key="40" value="40" />
</searchCount>
</items>
<?xml version="1.0" encoding="utf-8" ?>
<items>
<searchCount>
<add key="10" value="10" />
<add key="20" value="20" />
<add key="30" value="30" />
<add key="40" value="40" />
</searchCount>
</items>
解决方案 »
- ASP.NET Datasource里sql parameter问题
- 关于删除传值的问题
- Sqlite怎么跨库查询并绑定到GridView中?
- 如何通过任务计划每天更新一下数据库中的某个字段(高歌帮个忙)
- 请高手帮忙!asp.net应用程序在win2000下(net1.1;sql2000)正常,迁移到win2008后报错!
- asp.net
- 高分急问,Convert类中部分静态函数失效!
- 100分!在发一次!webform中datagrid动态添加多个模板列和checkbox列问题!(两天了都没解决)
- 如何进行打包,使得安装程序后,在桌面上出现一个图标?来者有分
- 高手请进,能不能够利用上下左右键来控制光标在页面上各个文本框之间移动?
- 请教高手网站后台的留言管理功能
- 在windows server 2008 安装sql server 2000 ,可以吗?怎么做?
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("a.xml"));
this.GridView2.DataSource = ds.Tables[1].DefaultView;
this.GridView2.DataBind();
但是,现在...
public string ReadAttr(string strXmlFilePath,string strKey)
{
String strRlt = String.Empty; XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(strXmlFilePath);
XmlNodeList nodeList = xmlDoc.SelectNodes("a.xml"); foreach(XmlNode node in nodeList ) ---迭代node对象
{
if (node.Attributes.Count > 0) ---Attributes是属性集合
{
if (node.Attributes[0].Value == strKey)
{
strRlt = node.Attributes[1].Value;
break;
}
}
} return strRlt;
}
参考一下
一.最简单的 public DataTable GetData1()
{
DataSet ds = new DataSet();
ds.ReadXml(HttpContext.Current.Server.MapPath(xmlPath));
return ds.Tables["add"];
}二.最好理解的 public DataTable GetData2()
{
DataTable tb = new DataTable();
tb.TableName = "data";
tb.Columns.Add(new DataColumn("key", typeof(string)));
tb.Columns.Add(new DataColumn("value", typeof(string))); XmlDocument doc = new XmlDocument(); doc.Load(HttpContext.Current.Server.MapPath(xmlPath)); XmlNodeList nodelist = doc.DocumentElement.SelectNodes("//add");
foreach (XmlNode node in nodelist)
{
DataRow r = tb.NewRow();
r[0] = node.Attributes["key"].Value;
r[1] = node.Attributes["value"].Value;
tb.Rows.Add(r);
} doc = null;
return tb;
}三.文件比较大时,效率最高的 public DataTable GetData()
{
DataTable tb = new DataTable();
tb.TableName = "data";
tb.Columns.Add(new DataColumn("key", typeof(string)));
tb.Columns.Add(new DataColumn("value", typeof(string))); using (XmlReader reader = new XmlTextReader(HttpContext.Current.Server.MapPath(xmlPath)))
{
while (reader.Read())
{
//如果节点为名add的元素节点
if (reader.NodeType == XmlNodeType.Element && reader.Name == "add")
{
DataRow r = tb.NewRow();
r[0] = reader.GetAttribute(0);
r[1] = reader.GetAttribute(1);
tb.Rows.Add(r);
}
}
reader.Close();
}
return tb;
}