/// <summary>
/// 将xml格式的字符串转换为Datable
/// </summary>
internal static DataTable ConvertXmlToDataTable(string xml)
{
StringReader sr = null;
XmlTextReader xr = null;
try
{
//if(!xml.StartsWith("<DocumentElement>"))
// xml="<DocumentElement>"+xml;
//if (!xml.EndsWith("</DocumentElement>"))
// xml = xml + "</DocumentElement>";
sr = new StringReader(xml);
xr = new XmlTextReader(sr);
//DataTable dt = new DataTable();
DataSet ds = new DataSet();
ds.ReadXml(xr);
return ds.Tables[0];
}
catch (Exception ex)
{
throw new Exception(string.Format("将xml参数转换为Dtatable时发生错误\n错误信息:{0}", ex.Message));
}
finally
{
if (xr != null)
xr.Close();
}
}
/// <summary>
/// 将Datable转换为xml格式的字符串
/// </summary>
internal static string ConvertDataTableToXml(DataTable dt)
{
MemoryStream ms = null;
XmlTextWriter xr = null;
try
{
ms = new MemoryStream();
xr = new XmlTextWriter(ms, System.Text.Encoding.Default);
dt.WriteXml(xr, false);
int count = (int)ms.Length;
byte[] arr = new byte[count];
ms.Seek(0, SeekOrigin.Begin);
ms.Read(arr, 0, count);
return System.Text.Encoding.Default.GetString(arr).Replace("<DocumentElement>", "").Replace("</DocumentElement>", "").Trim();
}
catch (Exception)
{
throw new Exception("将Dtatable参数转换为xml时发生错误");
}
finally
{
if (xr != null)
xr.Close();
}
}