[LINQ] 메모리상의 객체를 XML 로 변환하기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Transforming in-Memory Objects into XML
LINQ queries make it easy to transform data between in-memory data structures, SQL databases, ADO.NET Datasets and XML streams or documents. The following example transforms objects in an in-memory data structure into XML elements.
class XMLTransform { static void Main() { // Create the data source by using a collection initializer. // The Student class was defined previously in this topic. 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(); } }
The code produces the following XML output:
< Root> <student> <First>Svetlana</First> <Last>Omelchenko</Last> <Scores>97,92,81,60</Scores> </student> <student> <First>Claire</First> <Last>O'Donnell</Last> <Scores>75,84,91,39</Scores> </student> <student> <First>Sven</First> <Last>Mortensen</Last> <Scores>88,94,65,91</Scores> </student> </Root>
For more information, see Creating XML Trees in C# (LINQ to XML).
'Language > C#' 카테고리의 다른 글
[LINQ] Basic LINQ Query Operations (C#) (6) | 2015.04.28 |
---|---|
[LINQ] Element 로 어떤 동작 실행하는 경우 예제 (6) | 2015.04.28 |
[LINQ] subset 부분 집합 구하기 (6) | 2015.04.28 |
[LINQ] 여러 인풋을 하나의 시퀀스로 Join 하기 (6) | 2015.04.28 |
C# 자료 정리 - SerialPort. Event, Thread Synchronization, Debug Trace, TextBox Carrot Control, TimSpan, Method Invoker, Invoke (6) | 2015.04.28 |