Linq实现XML转换浅谈

花开不败 2009-09-08

学习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<Student> students = new List<Student>()  



{  



new Student {First="Svetlana", Last="Omelchenko", ID=111, 
Scores = new List<int>{97, 92, 81, 60}},  




new Student {First="Claire", Last="O’Donnell", ID=112, 
Scores = new List<int>{75, 84, 91, 39}},  




new Student {First="Sven", Last="Mortensen", ID=113, 
Scores = new List<int>{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();  


}  


} 

相关推荐