DataSet和XML的转换

2014-10-24 15:19:17  访问(3340) 赞(0) 踩(0)

假定有一个数据集:

ID  TheName

1   男

2   女


生成DataSet的代码如下:


    /// <summary>
    /// 创建DataSet
    /// </summary>
    /// <returns></returns>
    protected DataSet CreateDataSet()
    {
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn("ID", typeof(int)));
        dt.Columns.Add(new DataColumn("TheName", typeof(string)));

        DataRow dr = null;

        dr = dt.NewRow();
        dt.Rows.Add(dr);
        dr["ID"] = 1;
        dr["TheName"] = "男";

        dr = dt.NewRow();
        dt.Rows.Add(dr);
        dr["ID"] = 2;
        dr["TheName"] = "女";

        ds.Tables.Add(dt);

        return ds;
    }


DataSet转成XML的代码如下:

ds.GetXml()


转换结果如下:

<NewDataSet>
  <Table1>
    <ID>1</ID>
    <TheName>男</TheName>
  </Table1>
  <Table1>
    <ID>2</ID>
    <TheName>女</TheName>
  </Table1>
</NewDataSet>


XML转成DataSet的代码如下:



    /// <summary>
    /// 加载DataSet
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public DataSet StringToDataSet(string str)
    {
        DataSet ds = new DataSet();

        using (StringReader xmlSR = new StringReader(str))
        {

            ds.ReadXml(xmlSR, XmlReadMode.InferTypedSchema); //忽视任何内联架构,从数据推断出强类型架构并加载数据。如果无法推断,则解释成字符串数据

            if (ds.Tables.Count > 0)
                return ds;
            else
                return null;
        }
    }


示例代码



标签:DataSet转XML    XML转DataSet 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)