首页 > 代码库 > 将DataSet转化成XML格式的String类型,再转化回来。

将DataSet转化成XML格式的String类型,再转化回来。

/// <summary>        /// 获取DataSet的Xml格式        /// </summary>        public static string GetDataSetXml(this DataSet dataSet)        {            string str = string.Empty;            str += "<NewDataSet>";            for (int k = 0; k < dataSet.Tables.Count; k++)            {                for (int i = 0; i < dataSet.Tables[k].Rows.Count; i++)                {                    if (dataSet.Tables[k].TableName == "")                    {                        dataSet.Tables[k].TableName = "table" + k;                    }                    str += "<" + dataSet.Tables[k].TableName + ">";                    for (int j = 0; j < dataSet.Tables[k].Columns.Count; j++)                    {                        string clName = dataSet.Tables[k].Columns[j].ColumnName;                        str += "<" + clName + ">" + dataSet.Tables[k].Rows[i][clName].ToString().Replace("<", "&lt;").Replace(">", "&gt;") + "</" + clName + ">";                    }                    str += "</" + dataSet.Tables[k].TableName + ">";                }            }            str += "</NewDataSet>";            str = str.Replace("&", "&amp;");            str = str.Replace("", "&apos;");            str = str.Replace("\"", "&quot;");            return str;        }

有时我们需要对整个DataSet进行加密,但是很少有直接对DataSet进行加密的方法,所以要想办法将DataSet转化成String类型在进行加密,然后传送。

接收到加密XML后用StringReader将数据读入DataSet

                    DataSet dsLV = new DataSet();                    string decryptedData = http://www.mamicode.com/Decrypt(xmlDSLV);  //解密XML数据源                    StringReader sr = new StringReader(decryptedData);                    dsLV.ReadXml(sr);    //将数据读入DataSet                    sr.Close();

 

将DataSet转化成XML格式的String类型,再转化回来。