将数据集内容转换为xml格式 [英] Convert dataset contents to xml format

查看:264
本文介绍了将数据集内容转换为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆