XML 字符串到 C# 中的 DataTable [英] XML string to DataTable in C#
本文介绍了XML 字符串到 C# 中的 DataTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在C#中将XML字符串转换为DataTable?
How to convert XML string to DataTable in C#?
我尝试了以下代码:
public DataTable stam()
{
string xmlData = "<Names><Name>a</Name><Name>b</Name><Name>c</Name><Name>d</Name></Names>";
XElement x = XElement.Parse(xmlData);
DataTable dt = new DataTable();
XElement setup = (from p in x.Descendants() select p).First();
foreach (XElement xe in setup.Descendants()) // build your DataTable
dt.Columns.Add(new DataColumn(xe.Name.ToString(), typeof(string))); // add columns to your dt
var all = from p in x.Descendants(setup.Name.ToString()) select p;
foreach (XElement xe in all)
{
DataRow dr = dt.NewRow();
foreach (XElement xe2 in xe.Descendants())
dr[xe2.Name.ToString()] = xe2.Value; //add in the values
dt.Rows.Add(dr);
}
return dt;
}
它返回一个空的数据表.
and it returns an empty DataTable.
推荐答案
public DataTable stam()
{
StringReader theReader = new StringReader(xmlData);
DataSet theDataSet = new DataSet();
theDataSet.ReadXml(theReader);
return theDataSet.Tables[0];
}
您可以使用 StringReader
将其加载到 DataSet
中.从那里,具有第一个索引的表将包含 DataTable
.
You can use a StringReader
to load it into a DataSet
. From there, the table with the first index will contain the DataTable
.
这篇关于XML 字符串到 C# 中的 DataTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文