今天做一個項目,需要把數據輸出成XML。
開始是用DataSet.GetXml()來輸出XML,不過數據庫中的數據有一個字段是XML類型的,而用DataSet.GetXmL()的話,那個XML類型的字段裡的值不會被當成XML來輸出,而是當作值來輸出的。
所以後來就用了SQL 的FOR XML來把所有的數據以XML格式從數據讀取。
public XmlDocument GetXML()
{
SqlConnection sqlConnection = new SqlConnection("Server=localhost;Initial Catalog=Canyin;User ID=sa;PassWord=sa");
SqlCommand mycmd = new SqlCommand("select * from table for XML auto,elements,root", sqlConnection);
XmlDocument xmldom = new XMLDocument();
XMLReader xr;
try
{
sqlConnection.Open();
xr = mycmd.ExecuteXMLReader();
while(xr.Read())
{
XMLdom.Load(xr);
}
}
catch
{
throw;
}
finally
{
sqlConnection.Close();
}
return XMLdom;
}
http://blog.csdn.Net/wlkjhxd/archive/2008/09/19/2954043.ASPx