加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML字符串到C#中的DataTable

发布时间:2020-12-16 08:00:20 所属栏目:百科 来源:网络整理
导读:如何在C#中将XML字符串转换为DataTable? 我尝试了以下代码: public DataTable stam() { string xmlData = "NamesNamea/NameNameb/NameNamec/NameNamed/Name/Names"; XElement x = XElement.Parse(xmlData); DataTable dt = new DataTable(); XElement setu
如何在C#中将XML字符串转换为DataTable?

我尝试了以下代码:

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;

    }

并返回一个空的DataTable。

public DataTable stam()    
{
    StringReader theReader = new StringReader(xmlData);
    DataSet theDataSet = new DataSet();
    theDataSet.ReadXml(theReader);

    return theDataSet.Tables[0];
}

您可以使用StringReader将其加载到DataSet中。从那里,具有第一个索引的表将包含DataTable。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读