如何将xml变成datatable
<Web><info><title>站点</title><url>URL</url><name>Name</name><add>ADD</add><tel>Tel</te...
<Web>
<info>
<title>站点</title>
<url>URL</url>
<name>Name</name>
<add>ADD</add>
<tel>Tel</tel>
<ps>Infos</ps>
<nav>
<li name="首页1" url="index1.aspx"/>
<li name="首页2" url="index2.aspx"/>
<li name="首页3" url="index3.aspx"/>
<li name="首页4" url="index4.aspx"/>
</nav>
</info>
</Web>
我想将上面<nav>中间的内容变成一个DataTable,请问怎么做?
能够直接将
<nav>
<li name="首页1" url="index1.aspx"/>
<li name="首页2" url="index2.aspx"/>
<li name="首页3" url="index3.aspx"/>
<li name="首页4" url="index4.aspx"/>
</nav>
这一段通过类似dataset.ReadXml()的方式吗? 如果需要把li的改变一下,该怎么改? 展开
<info>
<title>站点</title>
<url>URL</url>
<name>Name</name>
<add>ADD</add>
<tel>Tel</tel>
<ps>Infos</ps>
<nav>
<li name="首页1" url="index1.aspx"/>
<li name="首页2" url="index2.aspx"/>
<li name="首页3" url="index3.aspx"/>
<li name="首页4" url="index4.aspx"/>
</nav>
</info>
</Web>
我想将上面<nav>中间的内容变成一个DataTable,请问怎么做?
能够直接将
<nav>
<li name="首页1" url="index1.aspx"/>
<li name="首页2" url="index2.aspx"/>
<li name="首页3" url="index3.aspx"/>
<li name="首页4" url="index4.aspx"/>
</nav>
这一段通过类似dataset.ReadXml()的方式吗? 如果需要把li的改变一下,该怎么改? 展开
1个回答
展开全部
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(Server.MapPath("XMLFile1.xml"));
System.Xml.XmlNodeList list = xmlDoc.GetElementsByTagName("li");
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("url", typeof(string));
System.Data.DataRow dr = null;
foreach (System.Xml.XmlNode node in list)
{
dr = dt.NewRow();
dr[0] = node.Attributes["name"].Value;
dr[1] = node.Attributes["url"].Value;
dt.Rows.Add(dr);
}
dt就是你需要的
//补充,通过dataset.ReadXml()我尝试过,很难,因为DataSet是离线数据库,这种XML包含关系在数据库里是外键关系,最后解析出来li,估计代码比上述代码还要多.
xmlDoc.Load(Server.MapPath("XMLFile1.xml"));
System.Xml.XmlNodeList list = xmlDoc.GetElementsByTagName("li");
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("url", typeof(string));
System.Data.DataRow dr = null;
foreach (System.Xml.XmlNode node in list)
{
dr = dt.NewRow();
dr[0] = node.Attributes["name"].Value;
dr[1] = node.Attributes["url"].Value;
dt.Rows.Add(dr);
}
dt就是你需要的
//补充,通过dataset.ReadXml()我尝试过,很难,因为DataSet是离线数据库,这种XML包含关系在数据库里是外键关系,最后解析出来li,估计代码比上述代码还要多.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询