XElement 클래스 개요(C#)XElement Class Overview (C#)

XElement 클래스는 LINQ to XMLLINQ to XML의 기본 클래스 중 하나이며The XElement class is one of the fundamental classes in LINQ to XMLLINQ to XML. XML 요소를 나타냅니다.It represents an XML element. 이 클래스를 사용하여 요소를 만들거나, 요소의 내용을 변경하거나, 자식 요소를 추가, 변경 또는 삭제하거나, 특성을 요소에 추가하거나, 요소의 내용을 텍스트 형태로 serialize할 수 있습니다.You can use this class to create elements; change the content of the element; add, change, or delete child elements; add attributes to an element; or serialize the contents of an element in text form. 또한 System.Xml, XmlReaderXmlWriter과 같은 XslCompiledTransform의 다른 클래스와 상호 운용할 수도 있습니다.You can also interoperate with other classes in System.Xml, such as XmlReader, XmlWriter, and XslCompiledTransform.

이 항목에서는 XElement 클래스에서 제공하는 기능에 대해 설명합니다.This topic describes the functionality provided by the XElement class.

XML 트리 생성Constructing XML Trees

다음과 같은 다양한 방법으로 XML 트리를 생성할 수 있습니다.You can construct XML trees in a variety of ways, including the following:

  • 코드에서 XML 트리를 생성할 수 있습니다.You can construct an XML tree in code. 자세한 내용은 XML 트리 만들기(C#)를 참조하세요.For more information, see Creating XML Trees (C#).

  • TextReader, 텍스트 파일 또는 웹 주소(URL)와 같은 다양한 소스에서 XML의 구문을 분석할 수 있습니다.You can parse XML from various sources, including a TextReader, text files, or a Web address (URL). 자세한 내용은 XML 구문 분석(C#)을 참조하세요.For more information, see Parsing XML (C#).

  • XmlReader를 사용하여 트리를 채울 수 있습니다.You can use an XmlReader to populate the tree. 자세한 내용은 ReadFrom을 참조하세요.For more information, see ReadFrom.

  • 내용을 XmlWriter에 쓸 수 있는 모듈이 있는 경우 CreateWriter 메서드를 사용하여 작성기를 만들고 모듈에 작성기를 전달한 다음 XmlWriter에 쓴 내용을 사용하여 XML 트리를 채울 수 있습니다.If you have a module that can write content to an XmlWriter, you can use the CreateWriter method to create a writer, pass the writer to the module, and then use the content that is written to the XmlWriter to populate the XML tree.

그러나 XML 트리를 만드는 가장 일반적인 방법은 다음과 같습니다.However, the most common way to create an XML tree is as follows:

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")  
            )  
        )  
    );  

XML 트리를 만드는 또 다른 일반적인 방법에는 다음 예제에서와 같이 LINQLINQ 쿼리의 결과를 사용하여 XML 트리를 채우는 작업이 포함됩니다.Another very common technique for creating an XML tree involves using the results of a LINQLINQ query to populate an XML tree, as shown in the following example:

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);  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

XML 트리 serializationSerializing XML Trees

XML 트리를 File, TextWriter 또는 XmlWriter로 serialize할 수 있습니다.You can serialize the XML tree to a File, a TextWriter, or an XmlWriter.

자세한 내용은 XML 트리 serialize(C#)를 참조하세요.For more information, see Serializing XML Trees (C#).

축 메서드를 통해 XML 데이터 검색Retrieving XML Data via Axis Methods

축 메서드를 사용하여 특성, 자식 요소, 하위 요소 및 상위 요소를 검색할 수 있습니다.You can use axis methods to retrieve attributes, child elements, descendant elements, and ancestor elements. LINQLINQ 쿼리는 축 메서드에 대해 작동하며 XML 트리를 탐색하고 처리하는 융통성 있고 강력한 몇 가지 방법을 제공합니다.queries operate on axis methods, and provide several flexible and powerful ways to navigate through and process an XML tree.

자세한 내용은 LINQ to XML 축(C#)을 참조하세요.For more information, see LINQ to XML Axes (C#).

XML 트리 쿼리Querying XML Trees

XML 트리에서 데이터를 추출하는 LINQLINQ 쿼리를 작성할 수 있습니다.You can write LINQLINQ queries that extract data from an XML tree.

자세한 내용은 XML 트리 쿼리(C#)를 참조하세요.For more information, see Querying XML Trees (C#).

XML 트리 수정Modifying XML Trees

내용이나 특성을 변경하는 등의 다양한 방법으로 요소를 수정할 수 있습니다.You can modify an element in a variety of ways, including changing its content or attributes. 또한 부모에서 요소를 제거할 수도 있습니다.You can also remove an element from its parent.

자세한 내용은 XML 트리 수정(LINQ to XML)(C#)을 참조하세요.For more information, see Modifying XML Trees (LINQ to XML) (C#).

참고 항목See also