将XML字符串转换为数据集时遇到的问题(数据类型问题) [英] Issue facing while converting XML string to dataset (datatype issue)
问题描述
只需要数据表+大数据是
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屋!