将XML字符串转换为数据集时遇到的问题(数据类型问题) [英] Issue facing while converting XML string to dataset (datatype issue)

查看:72
本文介绍了将XML字符串转换为数据集时遇到的问题(数据类型问题)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

只需要数据表+大数据是



BLL



Need datatable only + large data is der

BLL

dt = SQLHelper.ExecuteDataTable(SQLHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, DBConstants.Dummmy_DummyParameters, parm);
        dt.TableName = "DataTable";

        StringBuilder objStringBuilder=new StringBuilder();
        XmlWriter objXmlWriter = XmlWriter.Create(objStringBuilder);
        dt.WriteXml(objXmlWriter);
        objStandardPivotGridData.DataString = Convert.ToString(objStringBuilder);
        foreach (DataColumn dc in dt.Columns)
        {
            var field1 = dc.ToString();
            string Datatype = dc.DataType.Name.ToString();
        }





----------服务电话------ --------

---------控制器---------



----------Service Call--------------
---------Controller---------

XmlReader objXmlReader = XmlReader.Create(GenerateStreamFromString(Convert.ToString(objPFMS_ToolClient.GetGridData(objReportsModel, Session_Fetch.Fetch_UserDetails).DataString).Replace("DocumentElement", "root")));

              DataSet ds = new DataSet();
              ds.ReadXml(objXmlReader);
              foreach (DataColumn dc in ds.Tables["DataTable"].Columns)
              {
                  var field1 = dc.ToString();
                  string Datatype = dc.DataType.Name.ToString();
              }





我尝试过:



我正在尝试做WCF服务调用,我需要传递数据表,因为动态数据绑定,我正在做

所以在WCF服务BLL和我将数据表转换为xml串。

我的返回数据类型是字符串。



在控制器中我正在将XML转换为数据集

以上场景,我需要维护原始数据类型....需要帮助.. :)



What I have tried:

I am trying do WCF service call and i need to pass datatable because of dynamic databinding, i m doing
so In WCF service BLL and i am coverting datatable to xml string.
my return datatype is string.

In controller I am doing conversion of XML to Dataset
In the above scenario, I need to maintain the original datatype....Need help.. :)

推荐答案

XSD是解决方案



XSD is solution

DataTable table = new DataTable();
           table.TableName = "Sushant";
           table.Columns.Add("Dosage", typeof(int));
           table.Columns.Add("Drug", typeof(string));
           table.Columns.Add("Patient", typeof(string));
           table.Columns.Add("Date", typeof(DateTime));

           // Here we add five DataRows.
           table.Rows.Add(25, "Indocin", "David", DateTime.Now);
           table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
           table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
           table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
           table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
           StringBuilder sb = new StringBuilder();
           StringBuilder sb1 = new StringBuilder();
           XmlWriter tw= XmlWriter.Create(sb);
           table.WriteXmlSchema(tw);
           tw = XmlWriter.Create(sb1);
           table.WriteXml(tw);
           for (int j = 0; j < table.Columns.Count; j++)
           {

               Console.WriteLine(table.Columns[j].ColumnName + "', type = "
                                 + table.Columns[j].DataType.ToString());
           }

           DataTable dt = new DataTable();
           string strsb = Convert.ToString(sb);
           string strsb1 = Convert.ToString(sb1);
           TextReader tr = new StringReader(strsb);
           XmlReader xr = XmlReader.Create(tr);
           dt.ReadXmlSchema(xr);
           tr = new StringReader(strsb1);
           xr = XmlReader.Create(tr);
           dt.ReadXml(xr);
           for (int j = 0; j < dt.Columns.Count; j++)
           {

               Console.WriteLine(dt.Columns[j].ColumnName + "', type = "
                                 + dt.Columns[j].DataType.ToString());
           }


这篇关于将XML字符串转换为数据集时遇到的问题(数据类型问题)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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