XmlNode와 XElement간 상호 변환하기

XElementXmlNode는 기본적으로 그 역할이 비슷하다. 하지만 다른 용도로 쓰이는데, 같은 XML 문서를 XDocument로 읽어들이는가 (XElement) 혹은 XmlDocument로 읽어들이는가 (XmlNode)에 따라 다르다. 전자는 보통 LINQ to XML 형태로 많이 사용하고, 후자는 Node 검색시 많이 사용한다.

문제는 거의 같은 역할을 하고 있음에도 불구하고 이 둘일 서로 변환시켜주는 방법이 없다는데 있다. 따라서, 익스텐션 메소드를 직접 만들어야 하는데, 아래와 같은 형태로 만들면 된다.

XElement to XmlNode

XmlNode to XElement

이 두가지 익스텐션 메소드를 이용하면 언제든 손쉽게 바꿀 수 있다.

참조: Converting XElement into XmlNode

You might be interested in...