LINQ to XML 축 개요

XML 트리를 만들거나 XML 문서를 XML 트리에 로드한 후 XML 트리를 쿼리하여 요소와 특성을 찾고 해당 값을 검색할 수 있습니다. 축 메서드()를 통해 컬렉션을 검색합니다. 일부 축은 XElement 컬렉션을 반환하는 XDocumentIEnumerable<T> 클래스의 메서드이고, 일부 축은 Extensions 클래스의 확장 메서드입니다. 확장명 메서드로 구현되는 축은 컬렉션에 대해 작동하고 컬렉션을 반환합니다.

XElement 클래스 개요에 설명된 대로 XElement 개체는 단일 요소 노드를 나타냅니다. 요소의 내용은 복합 요소(구조화된 내용이라고도 함)이거나 단순 요소일 수 있습니다. 단순 요소는 비어 있거나 값을 포함할 수 있습니다. 노드에 구조화된 내용이 포함되어 있으면 다양한 축 메서드를 사용하여 하위 요소의 열거형을 검색할 수 있습니다. 가장 일반적으로 사용되는 축 메서드는 ElementsDescendants입니다.

컬렉션을 반환하는 축 메서드 외에도 LINQ to XML 쿼리에서 일반적으로 사용하는 두 메서드가 있습니다. Element 메서드는 단일 XElement를 반환합니다. Attribute 메서드는 단일 XAttribute를 반환합니다.

LINQ 쿼리는 트리를 검사하고, 트리에서 데이터를 추출하고, 트리를 변환하는 가장 강력한 방법을 여러 용도에 제공합니다. LINQ 쿼리는 IEnumerable<T>를 구현하는 개체에 대해 작동하며 LINQ to XML 축은 XElement 컬렉션의 IEnumerable<T>XAttribute 컬렉션의 IEnumerable<T>를 반환합니다. 쿼리를 수행하려면 이러한 컬렉션이 필요합니다.

요소와 특성의 컬렉션을 검색하는 축 메서드 외에도 트리를 매우 자세히 반복하는 데 사용할 수 있는 축 메서드가 있습니다. 예를 들어, 요소와 특성을 처리하는 대신 트리의 노드로 작업할 수 있습니다. 노드는 요소와 특성보다 세부적인 단위입니다. 노드로 작업할 때 XML 주석, 텍스트 노드, 처리 명령 등을 검사할 수 있습니다. 이 기능은 워드 프로세서를 작성 중인 사용자가 문서를 XML로 저장하려는 경우 등에 중요합니다. 그러나 XML 프로그래머의 대다수는 요소, 특성 및 해당 값에 주로 관심이 있습니다.

요소 컬렉션을 검색하는 메서드

다음은 요소 컬렉션을 반환하기 위해 XElement에 대해 호출하는 XElement 클래스(또는 해당 기본 클래스)의 메서드를 요약한 것입니다.

메서드 설명
XNode.Ancestors 이 요소의 상위 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 상위 요소에 대한 XElementXName을 반환합니다.
XContainer.Descendants 이 요소의 하위 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 하위 요소에 대한 XElementXName을 반환합니다.
XContainer.Elements 이 요소의 자식 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 자식 요소에 대한 XElementXName을 반환합니다.
XNode.ElementsAfterSelf 이 요소 뒤에 나오는 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 이 요소 뒤에 나오는 요소에 대한 XElementXName을 반환합니다.
XNode.ElementsBeforeSelf 이 요소 앞에 나오는 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 이 요소 앞에 나오는 요소에 대한 XElementXName을 반환합니다.
XElement.AncestorsAndSelf 이 요소와 해당 상위 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 요소에 대한 XElementXName을 반환합니다.
XElement.DescendantsAndSelf 이 요소와 해당 하위 요소에 대한 IEnumerable<T>XElement을 반환합니다. 오버로드는 지정된 IEnumerable<T>을 가진 요소에 대한 XElementXName을 반환합니다.

단일 요소를 검색하는 메서드

다음 메서드는 XElement 개체에서 단일 자식을 검색합니다.

메서드 설명
XContainer.Element 지정된 XElement을 가진 첫 번째 자식 XName 개체를 반환합니다.

특성 컬렉션을 검색하는 메서드

다음 메서드는 XElement 개체에서 특성을 검색합니다.

메서드 설명
XElement.Attributes 모든 특성에 대한 IEnumerable<T>XAttribute을 반환합니다.

단일 특성을 검색하는 메서드

다음 메서드는 XElement 개체에서 단일 특성을 검색합니다.

메서드 설명
XElement.Attribute 지정된 XAttribute을 가진 XName를 반환합니다.