DataTable与Xml的相互转化
2011-04-21 18:05
323 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Test2 { class Program { static void Main(string[] args) { //1.将DataTable写入Xml List<Person> list = new List<Person> { new Person(){Id=1,Name="小明"}, new Person(){Id=2,Name="小华"} }; DataTable dt = new DataTable("MatrixInfo"); DataColumn dc1 = new DataColumn("ID"); DataColumn dc2 = new DataColumn("Name"); dt.Columns.Add(dc1); dt.Columns.Add(dc2); foreach(Person p in list){ DataRow dr = dt.NewRow(); dr["ID"] = p.Id; dr["Name"] = p.Name; dt.Rows.Add(dr); } System.IO.StringWriter writer = new System.IO.StringWriter(); dt.WriteXml(writer); string xmlstr= writer.ToString(); writer.Close(); Console.WriteLine(xmlstr); //2.将Xml读入DataTable, 切记MatrixInfo,ID,Name. 即表名, 列名要一一对应 DataTable dtStep2 = new DataTable("MatrixInfo"); DataColumn dc1Step2 = new DataColumn("ID"); DataColumn dc2Step2 = new DataColumn("Name"); dtStep2.Columns.Add(dc1Step2); dtStep2.Columns.Add(dc2Step2); System.IO.StringReader reader = new System.IO.StringReader(xmlstr); dtStep2.ReadXml(reader); Console.WriteLine("测试转换结果:"); foreach (DataRow drS2 in dtStep2.Rows) { Console.WriteLine(drS2[0]+"/t"+drS2[1]); } Console.ReadLine(); } } public class Person { public int Id { get; set; } public string Name { get; set; } } }
起初担心, 无法转换<>等特殊字符, 后来发现,
dt->xml <会自动转成< , >会自动转成>
xml->dt <-> '<' , >-> '>'
赞一个
相关文章推荐
- DataTable ,XML和JSON相互转化
- xml与对象的相互转化
- Java对象与XML文件之间相互转化(含源代码)
- php数组和xml之间相互转化
- xml与对象的相互转化
- python 下xml和dict相互转化,含attributes
- xml和对象的相互转化
- php实现XML和数组的相互转化功能示例
- JSON、XML、JAVABEAN相互转化
- XMLGregorianCalendar和java.util.Date的相互转化
- JSON与DataTable(DataSet)相互转化
- xml与java对象的相互转化
- c#将xml字符串转化为 DataTable
- JAXB实现java对象与xml相互转化
- string和xml的相互转化
- DataTable与Json相互转化
- xml文件和DataTable之间相互转换
- java对象与XML相互转化
- Bpmn和xml文件相互转化
- xml与datatable间相互转换