從網上找到一段將DataTable轉換XML的代碼,只是一個靜態方法,弄一個類檔案,包括了這個靜態方法,以便在程式中使用(后面三條using陳述句是我自己加上去的),如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace WindowsFormsApp1
{
class ConvertData
{
public static string CDataToXml(DataTable dt)
{
if (dt != null)
{
MemoryStream ms = null;
XmlTextWriter XmlWt = null;
try
{
ms = new MemoryStream();
//根據ms實體化XmlWt
XmlWt = new XmlTextWriter(ms, Encoding.Unicode);
//獲取ds中的資料
dt.WriteXml(XmlWt);
int count = (int)ms.Length;
byte[] temp = new byte[count];
ms.Seek(0, SeekOrigin.Begin);
ms.Read(temp, 0, count);
//回傳Unicode編碼的文本
UnicodeEncoding ucode = new UnicodeEncoding();
string returnValue = ucode.GetString(temp).Trim();
return returnValue;
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
//釋放資源
if (XmlWt != null)
{
XmlWt.Close();
ms.Close();
ms.Dispose();
}
}
}
else
{
return "";
}
}
}
}
在程式中使用的方法如下:
string XmlValue;
XmlValue = ConvertData.CDataToXml(dt);
richTextBox1.Text = XmlValue;
但是編譯時出現了一些錯誤,具體如下:
嚴重性 代碼 說明 專案 檔案 行 禁止顯示狀態
錯誤 CS0246 未能找到型別或命名空間名“DataTable”(是否缺少 using 指令或程式集參考?) WindowsFormsApp1 D:\XML\WindowsFormsApp1\WindowsFormsApp1\ConvertData.cs 15 活動的
嚴重性 代碼 說明 專案 檔案 行 禁止顯示狀態
錯誤 CS0246 未能找到型別或命名空間名“XmlTextWriter”(是否缺少 using 指令或程式集參考?) WindowsFormsApp1 D:\XML\WindowsFormsApp1\WindowsFormsApp1\ConvertData.cs 20 活動的
嚴重性 代碼 說明 專案 檔案 行 禁止顯示狀態
錯誤 CS0246 未能找到型別或命名空間名“XmlTextWriter”(是否缺少 using 指令或程式集參考?) WindowsFormsApp1 D:\XML\WindowsFormsApp1\WindowsFormsApp1\ConvertData.cs 25 活動的
嚴重性 代碼 說明 專案 檔案 行 禁止顯示狀態
錯誤 CS1503 引數 1: 無法從“System.Data.DataTable”轉換為“DataTable” WindowsFormsApp1 D:\XML\WindowsFormsApp1\WindowsFormsApp1\Form1.cs 59 活動的
請賜教
uj5u.com熱心網友回復:
可參uj5u.com熱心網友回復:
可參轉載請註明出處,本文鏈接:https://www.uj5u.com/net/259357.html
標籤:C#
