我有一个类,哪些方法将用作Web服务(REST) - > XML输出。它用于从db获取一些数据,可用于从excel导入。
虽然我只需要返回一个表,但没有问题(方法看起来像这样):
public DataTable CountryKitUPH(string date, string fhour, string thour)
{
date = Dates(date);
var from = date + ' ' + fhour + ":00";
var to = date + ' ' + thour + ":00";
var sqlCommand = "exec rptPMCountryKitUPH_sp @trantype='REPORT', @fromdt='" + from + "', @todt='" + to + "'";
var dataContext = DataContextFactory.GetShopFloorDataContext(Guid.Empty);
var dt = Core.Data.Utility.QueryToDataTable(Guid.Empty, DataContextFactory.SecurityKey, sqlCommand);
dt.TableName = "Country Kit UPH";
return dt;
}
但是现在我必须做报告,它返回多个表 - 每个“line”参数的一组表。
该方法应该返回更多。我可以想象它看起来像XML,我只是不知道如何返回它(因为我还不能发布图像,我将尝试编写我认为XML应该是这样的:
<line name='L1'>
<minitable>
<row no="1">
<column name="event 1">13</column>
<column name="event 2">35</column>
<column name="event 3">78</column>
</row>
</minitable>
<table>
(content)
</table>
</line>
<line name='L2'>
<minitable>
(content)
</minitable>
<table>
(content)
</table>
</line>
那么请 - 我应该选择哪种数据类型来返回这样的多个表,或者如何将这些表包装在xml中?
非常感谢
答案 0 :(得分:1)
有这样的东西吗?
public DataTable[] MultipleMethod(args)
{
List<DataTable> list = new List<DataTable>();
// Load first DataTable
DataTable dt = ...
list.Add(dt); // Add the DataTable to the list of tables
// Load second DataTable
dt = ...
list.Add(dt); // Add the DataTable to the list of tables
// Load another DataTable
dt = ...
list.Add(dt); // Add the DataTable to the list of tables
return list.ToArray(); // Return an array of tables (can return the list if that is the return type)
}