하기 사이트에서 발췌함. - 감사합니다. -

http://trip2ee.tistory.com/26

==============================================================================

LINQ (Language INtegrated Query) 는 .NET Framework 3.5 에 추가된 강력한 기능이다. LINQ의 LINQ to XML, LINQ to SQL 등의 활용해 XML과 데이터베이스를 쉽게 다룰 수 있다.


MSDN 에 LINQ를 어떻게 시작해야 할지 자세히 설명이 되어 있지만 개인적으로 현재 MSDN 스타일은 산만해 보여서 함수나 method를 찾아보는것 외에는 좋아하지 않는다 (http://msdn.microsoft.com/ko-kr/library/bb387098(v=VS.90).aspx).
하지만 참고할 자료가 MSDN 밖에 없기 때문에 이을 참고해 간단히 XML 파일을 불러와서 데이터를 추가, 저장, 검색하는 예제를 작성해 보았다.

다음 C# 코드는 간단히 List 2와 같은 XML 파일을 생성하는 코드 예제를 작성한 것이다.


[List 1. LINQ to XML 을 이용한 XML 파일 다루기]

XElement 의 생성자를 이용해 XML 항목들을성할 수 있다. 그리고 xmlPhoneBook.Save("phonebook.xml"); 와 같이 Save() method를 이용해 phonebook.xml 파일에 XML을 저장할 수 있으며 XElement xmlPhoneBook = XElement.Load("phonebook.xml"); 과 같이 Load() method를 이용해 파일로부터 읽어올 수 있다.
System.Console.WriteLine(xmlPhoneBook); 은 다음과 같이 console 창에 XML 내용을 출력해 준다

Save() method를 이용해 파일로 저장할 때도 List 2와 같이 동일한 내용이 저장되는데 단 한가지 다른점은 다음과 같이 버전과 인코딩 방식이 파일 앞에 붙는다는 것이다.
<?xml version="1.0" encoding="utf-8"?>

[List 2. 생성된 XML 파일]

AddPerson() 과 DelPersion() 함수에서 사용한 것과 같이 XElement 의 Add() method 와 Remove() method를 이용해 데이터를 추가, 삭제할 수 있다. Remove() 함수에서는 name 을 가진 element 를 찾아 삭제하는 예제이다.
또한 LINQ 를 이용한 검색은 SearchPerson() 함수에서 사용한 것과 같이 SQL Query 문과 비슷하기 때문에 쉽게 사용할 수 있으며 Element() method를 이용해 특정항목에 해당하는 값을 읽어올 수 있다. ReplaceWith() method 를 이용하면 특정 element 를 수정할 수 있으며 EditPersion() 함수는 특정 name을 가진 element를 찾아 수정하는 예제이다.

+ Recent posts