学习Linq时,经常会遇到Linq实现XML转换问题,这里将介绍Linq实现XML转换问题的解决方法。
Linq实现XML转换,将内存中的对象转换为XML
通过 LINQ 查询,可以轻松地在内存中的数据结构、SQL 数据库、ADO.NET 数据集和XML流或文档之间转换数据。下面的示例是Linq实现XML转换,将内存中的数据结构中的对象转换为XML元素。
- class XMLTransform
- {
- static void Main()
- {
- // Create the data source by using a collection initializer.
- List
students = new List () - {
- new Student {First="Svetlana", Last="Omelchenko", ID=111,
Scores = new List{97, 92, 81, 60}}, - new Student {First="Claire", Last="O’Donnell", ID=112,
Scores = new List{75, 84, 91, 39}}, - new Student {First="Sven", Last="Mortensen", ID=113,
Scores = new List{88, 94, 65, 91}}, - };
- // Create the query.
- var studentsToXML = new XElement("Root",
- from student in students
- let x = String.Format("{0},{1},{2},{3}", student.Scores[0],
- student.Scores[1], student.Scores[2], student.Scores[3])
- select new XElement("student",
- new XElement("First", student.First),
- new XElement("Last", student.Last),
- new XElement("Scores", x)
- ) // end "student"
- ); // end "Root"
- // Execute the query.
- Console.WriteLine(studentsToXML);
- // Keep the console open in debug mode.
- Console.WriteLine("Press any key to exit.");
- Console.ReadKey();
- }
- }
Linq实现XML转换,此代码生成下面的XML输出:
- < Root>
Svetlana Omelchenko 97,92,81,60 Claire O'Donnell 75,84,91,39 Sven Mortensen 88,94,65,91
【编辑推荐】
上一篇:揭开网银木马的面纱
下一篇:Linq源元素简单分析