如何将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的改变一下,该怎么改?
展开
 我来答
kid83
2009-09-11 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:1997万
展开全部
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,估计代码比上述代码还要多.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式