다음을 통해 공유


XElement 클래스 개요

업데이트: November 2007

XElement 클래스는 LINQ to XML의 기본 클래스 중 하나이며 XML 요소를 나타냅니다. 이 클래스를 사용하여 요소를 만들거나, 요소의 내용을 변경하거나, 자식 요소를 추가, 변경 또는 삭제하거나, 특성을 요소에 추가하거나, 요소의 내용을 텍스트 형태로 serialize할 수 있습니다. 또한 XmlReader, XmlWriterXslCompiledTransform과 같은 System.Xml의 다른 클래스와 상호 운용할 수도 있습니다.

XElement 기능

이 항목에서는 XElement 클래스에서 제공하는 기능에 대해 설명합니다.

XML 트리 생성

다음과 같은 다양한 방법으로 XML 트리를 생성할 수 있습니다.

  • 코드에서 XML 트리를 생성할 수 있습니다. 자세한 내용은 XML 트리 만들기를 참조하십시오.

  • TextReader, 텍스트 파일 또는 웹 주소(URL)와 같은 다양한 소스에서 XML의 구문을 분석할 수 있습니다. 자세한 내용은 XML 구문 분석을 참조하십시오.

  • XmlReader를 사용하여 트리를 채울 수 있습니다. 자세한 내용은 ReadFrom을 참조하십시오.

  • 내용을 XmlWriter에 쓸 수 있는 모듈이 있는 경우 CreateWriter 메서드를 사용하여 작성기를 만들고 모듈에 작성기를 전달한 다음 XmlWriter에 쓴 내용을 사용하여 XML 트리를 채울 수 있습니다.

그러나 XML 트리를 만드는 가장 일반적인 방법은 다음과 같습니다.

XElement contacts =
    new XElement("Contacts",
        new XElement("Contact",
            new XElement("Name", "Patrick Hines"), 
            new XElement("Phone", "206-555-0144"),
            new XElement("Address",
                new XElement("Street1", "123 Main St"),
                new XElement("City", "Mercer Island"),
                new XElement("State", "WA"),
                new XElement("Postal", "68042")
            )
        )
    );
Dim contacts As XElement = _
    <Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone>206-555-0144</Phone>
            <Address>
                <Street1>123 Main St</Street1>
                <City>Mercer Island</City>
                <State>WA</State>
                <Postal>68042</Postal>
            </Address>
        </Contact>
    </Contacts>

XML 트리를 만드는 또 다른 일반적인 방법에는 다음 예제에서와 같이 LINQ 쿼리의 결과를 사용하여 XML 트리를 채우는 작업이 포함됩니다.

XElement srcTree = new XElement("Root",
    new XElement("Element", 1),
    new XElement("Element", 2),
    new XElement("Element", 3),
    new XElement("Element", 4),
    new XElement("Element", 5)
);
XElement xmlTree = new XElement("Root",
    new XElement("Child", 1),
    new XElement("Child", 2),
    from el in srcTree.Elements()
    where (int)el > 2
    select el
);
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
    <Root>
        <Element>1</Element>
        <Element>2</Element>
        <Element>3</Element>
        <Element>4</Element>
        <Element>5</Element>
    </Root>
Dim xmlTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <%= From el In srcTree.Elements() _
            Where el.Value > 2 _
            Select el %>
    </Root>
Console.WriteLine(xmlTree)

이 예제의 결과는 다음과 같습니다.

<Root>
  <Child>1</Child>
  <Child>2</Child>
  <Element>3</Element>
  <Element>4</Element>
  <Element>5</Element>
</Root>

XML 트리 serialize

XML 트리를 File, TextWriter 또는 XmlWriter로 serialize할 수 있습니다.

자세한 내용은 XML 트리 serialize를 참조하십시오.

축 메서드를 통해 XML 데이터 검색

축 메서드를 사용하여 특성, 자식 요소, 하위 요소 및 상위 요소를 검색할 수 있습니다. LINQ 쿼리는 축 메서드에 대해 작동하며 XML 트리를 탐색하고 처리하는 융통성 있고 강력한 몇 가지 방법을 제공합니다.

자세한 내용은 LINQ to XML 축을 참조하십시오.

XML 트리 쿼리

XML 트리에서 데이터를 추출하는 LINQ 쿼리를 작성할 수 있습니다.

자세한 내용은 XML 트리 쿼리를 참조하십시오.

XML 트리 수정

내용이나 특성을 변경하는 등의 다양한 방법으로 요소를 수정할 수 있습니다. 또한 부모에서 요소를 제거할 수도 있습니다.

자세한 내용은 XML 트리 수정(LINQ to XML)을 참조하십시오.

참고 항목

개념

LINQ to XML 프로그래밍 개요