个人认为原理是这样的 XmlDocument xdoc = new XmlDocument(); //string path = @"C:\test.xml";
xdoc.LoadXml(@"C:\\test.xml");
XmlNode xnode = xdoc.SelectSingleNode("student");
XmlElement xle = (XmlElement)xnode;
XmlNodeList xnl = xle.ChildNodes; DataTable dt = new DataTable("student");
DataColumn dc = dt.Columns.Add("name",typeof(string));
//dt.Columns.Add("age",typeof(Int32));
dt.Columns.Add("gender",typeof(string));
dt.Columns.Add("address",typeof(string));
DataRow dr = dt.NewRow();
foreach (XmlNode xn in xnl)
{
XmlElement xl = (XmlElement)xn;
XmlNodeList xlist = xl.ChildNodes;
foreach (XmlNode xnd in xlist)
{
if (xnd.Name == "name")
{
dr["name"] = ((XmlElement)xnd).Value;
}
//if (xnd.Name == "age")
//{
// dr["age"] = int.Parse(((XmlElement)xnd).Value);
//}
if (xnd.Name == "gender")
{
dr["gender"] = ((XmlElement)xnd).Value;
}
if (xnd.Name == "address")
{
dr["address"] = ((XmlElement)xnd).Value;
}
dt.Rows.Add(dr);
}
}
}
xdoc.LoadXml(@"C:\\test.xml");
XmlNode xnode = xdoc.SelectSingleNode("student");
XmlElement xle = (XmlElement)xnode;
XmlNodeList xnl = xle.ChildNodes; DataTable dt = new DataTable("student");
DataColumn dc = dt.Columns.Add("name",typeof(string));
//dt.Columns.Add("age",typeof(Int32));
dt.Columns.Add("gender",typeof(string));
dt.Columns.Add("address",typeof(string));
DataRow dr = dt.NewRow();
foreach (XmlNode xn in xnl)
{
XmlElement xl = (XmlElement)xn;
XmlNodeList xlist = xl.ChildNodes;
foreach (XmlNode xnd in xlist)
{
if (xnd.Name == "name")
{
dr["name"] = ((XmlElement)xnd).Value;
}
//if (xnd.Name == "age")
//{
// dr["age"] = int.Parse(((XmlElement)xnd).Value);
//}
if (xnd.Name == "gender")
{
dr["gender"] = ((XmlElement)xnd).Value;
}
if (xnd.Name == "address")
{
dr["address"] = ((XmlElement)xnd).Value;
}
dt.Rows.Add(dr);
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货