public class Student
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
} private DataTable ConvertDataToDataTable<T>(IEnumerable<T> list)
{
var type = typeof(T);
var properties = type.GetProperties();
var dataTable = new DataTable();
dataTable.Columns.AddRange(properties.Select(x => new DataColumn(x.Name)).ToArray());
foreach (var item in list)
{
var dataRow = dataTable.NewRow();
foreach (var property in properties)
{
dataRow[property.Name] = property.GetValue(item, null);
}
dataTable.Rows.Add(dataRow);
}
return dataTable;
} [Test]
public void XmlTest()
{
DataSet dataSet = new DataSet {DataSetName = "CustomDataSet"};
Student student1 = new Student
{
Id = ,
FirstName = "Chuck",
LastName = "Lu"
};
Student student2 = new Student()
{
Id = ,
FirstName = "Yong",
LastName = "Zhang"
};
IEnumerable<Student> list = new List<Student>() { student1, student2 };
var dataTable = ConvertDataToDataTable(list);
dataTable.TableName = "Students";
dataSet.Tables.Add(dataTable);
string xml = dataSet.GetXml();
Console.WriteLine(xml);
}

输出结果为:

<CustomDataSet>
<Students>
<Id>1</Id>
<FirstName>Chuck</FirstName>
<LastName>Lu</LastName>
</Students>
<Students>
<Id>2</Id>
<FirstName>Yong</FirstName>
<LastName>Zhang</LastName>
</Students>
</CustomDataSet>

最新文章

  1. Sublime Text 3 常用插件以及安装方法(转)
  2. Oracle总结
  3. Mockups Mockplus 网页原型设计
  4. struts2获得请求参数的方式
  5. 【CSS3】CSS3 滤镜实现
  6. CAS总结之Ticket篇
  7. Hbase 学习笔记(一) Hbase的物理模型 Hbase为每个值维护了一个多级索引,即&lt;key, column family, column name, timestamp&gt;
  8. Curling 2.0(dfs)
  9. 盛希泰:办公室就像男人的春药——人的一生的精力是有限的,你把有限的时间分配给谁决定你的成败——你有N多选择,你人生的积累就是N多选择加起来的结果
  10. oracle pl/sql 控制结构(分支,循环,控制)
  11. Redux的中间件原理分析
  12. double free or corruption错误
  13. LODOP选择路径,保存写入word文件
  14. ABBYY FineReader Pro for Mac有哪些特性(下)
  15. ROSETTA使用技巧随笔--Full Atom Representation和Centroid Representation
  16. HTTP协议介绍(POST、GET、Content-Type)
  17. python multiprocessing 和tcp
  18. sql的split()函数
  19. 粒子群算法(PSO)关于参数w的一些改进方法
  20. 搞懂WebSocket原理

热门文章

  1. CSS固定布局:960GS
  2. 【技术累积】【点】【java】【25】Orderd
  3. python基础--字符串操作、列表、元组、文件操作
  4. 太坑了,mybatis注解一对多,id没了
  5. select2下拉插件
  6. Django - 一对多跨表操作
  7. Centos 7中,防火墙配置端口规则
  8. 64.root object的理解
  9. Flask - 特殊装饰器 和 Flask工作结构模式(FBV, CBV)
  10. 【模板】最小生成树Kruskal