private string ConvertDataTableToXML(DataTable xmlDS)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
{
stream = new MemoryStream();
writer = new XmlTextWriter(stream, Encoding.Default);
xmlDS.WriteXml(writer);
int count = (int)stream.Length;
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(arr, 0, count);
UTF8Encoding utf = new UTF8Encoding();
return utf.GetString(arr).Trim();
}
catch
{
return String.Empty;
}
finally
{
if (writer != null) writer.Close();
}
}
private DataSet ConvertXMLToDataSet(string xmlData)
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
DataSet xmlDS = new DataSet();
stream = new StringReader(xmlData);
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
return xmlDS;
}
catch (Exception ex)
{
string strTest = ex.Message;
return null;
}
finally
{
if (reader != null)
reader.Close();
}
}
using System.Xml;
using System.Xml.Serialization;
/// <summary>
/// 下面两个方法实现xml文件和datatable间的相互转换
/// </summary>
/// <param name="strXml"></param>
/// <returns></returns>
public StringBuilder datatableToXml(DataTable dt) //返回stringbuilder类型
{
StringBuilder stb = new StringBuilder();
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
XmlWriter writer = XmlWriter.Create(stb);
serializer.Serialize(writer, dt);
writer.Close();
return stb;
}
public DataTable xmlToDatatable(string strXml) //返回datatable类型
{
StringReader sr = new StringReader(strXml);
XmlTextReader xtr = new XmlTextReader(sr);
DataTable dt = new DataTable();
dt.ReadXml(xtr);
sr.Close();
xtr.Close();
return dt;
}