2011-03-10 93 views

回答

2

完成此操作的另一種方法是將數據表添加到數據集並在數據集上調用GetXml()。除此數據集配備了用於直接向/從文件中寫入/讀取XML的WriteXml()ReadXml()路徑或流。

DataSet ds = new DataSet(); 
ds.Tables.Add(dt1); // Table 1 
ds.Tables.Add(dt2); // Table 2... 
... 
string dsXml= ds.GetXml(); 
... 
using (StreamWriter fs = new StreamWriter(xmlFile)) // XML File Path 
{ 
     ds.WriteXml(fs); 
} 
27

您可以使用DataTable.WriteXml方法。

這裏是一個例子;

How can i convert my datatable into XML using C# 2.0?

string result; 
using (StringWriter sw = new StringWriter()) { 
dataTable.WriteXml(sw); 
result = sw.ToString(); 
} 

如果你實際上並不需要一個字符串,但只讀的,加工的XML,這是一個好主意,使用的MemoryStream和XPathDocument的:

XPathDocument result; 
using (MemoryStream ms = new MemoryStream()) { 
dataTable.WriteXml(ms); 
ms.Position = 0; 
result = new XPathDocument(ms); 
} 
+0

謝謝。第一種方法用TABLE標籤封裝一行。有沒有什麼辦法可以用自定義標籤替換它,比如ROW?當然,我可以搜索字符串本身並用ROW替換TABLE,但我想要一種不同的方法。 – Steam 2013-12-20 05:28:11

9

你可以使用writeXML方法將其另存爲XML(Source)。

您還可以使用此forum的第五個帖子中所述的序列化/解序列化。