public static DataTable GetData(string path,string tableName)
{
//创建XmlDocument类的实例
XmlDocument xmldoc = new XmlDocument();
//调用XmlDocument类中的Load()方法加载XML文件
xmldoc.Load(path);
//创建DataTable类型的变量dt
DataTable dt = new DataTable();
///获取根节点
XmlNode rootNode = xmldoc.SelectSingleNode("/" + tableName + "s");
//判断节点及其子节点是否为空,为空将返空值
if(rootNode == null) return null;
if(rootNode.ChildNodes.Count <= 0) return null;
///创建保存记录的数据列
foreach(XmlAttribute attr in rootNode.ChildNodes[0].Attributes)
{
dt.Columns.Add(new DataColumn(attr.Name,typeof(string)));
}
///创新获取数据节点的XPath
string xmlPath = "/" + tableName + "s/" + tableName;
//获取XML节点下的所有节点
XmlNodeList nodeList = xmldoc.SelectNodes(xmlPath);
//遍历所有节点
foreach(XmlNode node in nodeList)
{
//创建数据表行,并在其中添加数据
DataRow row = dt.NewRow();
foreach(DataColumn column in dt.Columns)
{ ///读取每一个属性
row[column.ColumnName] = node.Attributes[column.ColumnName].Value;
}
//将数据表行添加到数据表中
dt.Rows.Add(row);
}
//返回DataTable对象dt
return dt;
}
转载于:https://www.cnblogs.com/408732444/archive/2010/06/17/1759673.html