将数据集内容转换为xml格式 [英] Convert dataset contents to xml format
本文介绍了将数据集内容转换为xml格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用c#asp .net作为前端,使用ms sql2005作为后端.我想将数据集中的数据转换为xml格式并将其存储为字符串.然后将此字符串作为存储过程的参数传递,并将数据存储在sql表的相应列中.
Hi,
I am using c# asp .net as front end and ms sql2005 as backend. I want to convert datas in a dataset to xml format and store it to a string. Then pass this string as a parameter of a stored procedure and store datas in respective columns of an sql table.
推荐答案
请在下面尝试此代码
Hi,
try this code below
DataSet ds = GetDataSet();
String xmlString=String.Empty;
foreach (DataTable dt in ds.Tables)
{
xmlString += ConvertDataTableToXML(dt);
}
public static String ConvertDataTableToXML(DataTable tableToExport)
{
StringBuilder formattedXML = new StringBuilder();
XmlDocument doc = new XmlDocument();
XmlNode node = doc.CreateNode(XmlNodeType.Element, string.Empty, "root", null);
DataColumnCollection dtColumns=tableToExport.Columns;
foreach (DataRow dataItem in tableToExport.Rows)
{
XmlElement element = doc.CreateElement("data");
foreach (DataColumn thisColumn in dtColumns)
{
object value = dataItem[thisColumn];
XmlElement tmp = doc.CreateElement(thisColumn.ColumnName);
if (value != null)
{
tmp.InnerXml = (RegExUtility.HasSpecialCharacter(value.ToString()) ? @"<![CDATA[" + value.ToString() + "]]>" : value.ToString());
}
else
{
tmp.InnerXml = string.Empty;
}
element.AppendChild(tmp);
}
node.AppendChild(element);
}
doc.AppendChild(node);
return doc.InnerXml;
}
希望这会有所帮助.
Hope this will help.
尝试一下
Try this
DataTable dt = new DataTable();
dt.Columns.Add("roomCode");
dt.Columns.Add("roomNo");
dt.Columns.Add("hotelCode");
DataRow dr;
dr = dt.NewRow();
dr["roomCode"] = "1";
dr["roomNo"] = "MKavs";
dr["hotelCode"] = "222";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["roomCode"] = "2";
dr["roomNo"] = "232";
dr["hotelCode"] = "33";
dt.Rows.Add(dr);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
XmlElement xE = (XmlElement)Serialize(ds);
string strXml = xE.OuterXml.ToString();
public XmlElement Serialize(object transformObject)
{
XmlElement serializedElement = null;
try
{
MemoryStream memStream = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(transformObject.GetType());
serializer.Serialize(memStream, transformObject);
memStream.Position = 0;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(memStream);
serializedElement = xmlDoc.DocumentElement;
}
catch (Exception SerializeException)
{
}
return serializedElement;
}
这篇关于将数据集内容转换为xml格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文