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
}