DataTable与XML字符串互转

本文介绍了如何将DataTable对象转换为XML字符串,并提供了将XML字符串还原为DataTable对象的方法。通过这些转换,可以方便地实现数据的存储和传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将DataTable对象转换成XML字符串

1 /// <summary>
2  /// 将DataTable对象转换成XML字符串
3 /// </summary>
4 /// <param name="xmlDT">DataTable对象</param>
5 /// <returns>XML字符串</returns>
6 private string ConvertDataTableToXML(DataTable xmlDT)
7 {
8 MemoryStream stream = null;
9 XmlTextWriter writer = null;
10 try
11 {
12 stream = new MemoryStream();
13 writer = new XmlTextWriter(stream, Encoding.Default);//根据stream实例化writer
14 xmlDT.TableName = "dt";
15 xmlDT.WriteXml(writer);//获取DataTable中的数据
16 int count = (int)stream.Length;
17 byte[] arr = new byte[count];
18 stream.Seek(0, SeekOrigin.Begin);
19 stream.Read(arr, 0, count);
20 return Encoding.GetEncoding("gb2312").GetString(arr).Trim();//解决中文乱码问题
21 //UTF8Encoding utf = new UTF8Encoding();
22 //return utf.GetString(arr).Trim();
23 }
24 catch (Exception e)
25 {
26 throw e;
27 }
28 finally
29 {
30 if (writer != null)
31 writer.Close();
32 }
33 }

将Xml字符串转换成DataTable对象

1 /// <summary>
2 /// 将Xml字符串转换成DataTable对象
3 /// </summary>
4 /// <param name="xmlData">Xml字符串</param>
5 /// <returns>DataTable对象</returns>
6 private DataTable ConvertXMLToDataTable(string xmlData)
7 {
8 StringReader stream = null;
9 XmlTextReader reader = null;
10 try
11 {
12 DataSet xmlDS = new DataSet();
13 stream = new StringReader(xmlData);//读取字符串中的信息
14 reader = new XmlTextReader(stream);//获取stream中的数据
15 xmlDS.ReadXml(reader);//DataSet获取Xmlrdr中的数据
16 return xmlDS.Tables[0];
17 }
18 catch (Exception e)
19 {
20 throw e;
21 }
22 finally
23 {
24 if (reader != null)
25 reader.Close();
26 }
27 }

转载于:https://www.cnblogs.com/ChengWeidong/archive/2011/06/13/2079501.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值