XML 트리를 만들거나 XML 문서를 XML 트리에 로드한 후 쿼리하여 요소와 특성을 찾고 해당 값을 검색할 수 있습니다. 축 메서드(축이라고도 함)를 통해 컬렉션을 검색합니다. 일부 축은 XElement 및 XDocument 클래스에 있는 메서드로, IEnumerable<T> 컬렉션을 반환합니다. 일부 축은 Extensions 클래스의 확장 메서드입니다. 확장 메서드로 구현되는 축은 컬렉션에 적용되어 컬렉션을 반환합니다.
XElement 클래스 개요에 설명된 대로 개체는 XElement 단일 요소 노드를 나타냅니다. 요소의 콘텐츠는 복잡하거나(구조화된 콘텐츠라고도 함) 간단한 요소일 수 있습니다. 단순 요소는 비어 있거나 값을 포함할 수 있습니다. 노드에 구조화된 콘텐츠가 포함된 경우 다양한 축 메서드를 사용하여 하위 요소의 열거형을 검색할 수 있습니다. 가장 일반적으로 사용되는 축 메서드는 다음과 같습니다 ElementsDescendants.
컬렉션을 반환하는 축 메서드 외에도 LINQ to XML 쿼리에서 일반적으로 사용하는 두 가지 메서드가 더 있습니다. Element 메서드는 단일 XElement을 반환합니다. Attribute 메서드는 단일 XAttribute을 반환합니다.
LINQ 쿼리는 여러 용도로 트리를 검사하고, 트리에서 데이터를 추출하고, 변환하는 가장 강력한 방법을 제공합니다. LINQ 쿼리는 IEnumerable<T>을(를) 구현하는 개체에서 작동하며, LINQ to XML 축은 IEnumerable<T> 컬렉션의 XElement 및 IEnumerable<T> 컬렉션의 XAttribute을(를) 반환합니다. 쿼리를 수행하려면 이러한 컬렉션이 필요합니다.
요소 및 특성의 컬렉션을 검색하는 축 메서드 외에도 트리를 자세히 반복할 수 있는 축 메서드가 있습니다. 예를 들어 요소와 특성을 처리하는 대신 트리의 노드로 작업할 수 있습니다. 노드는 요소 및 특성보다 세분성 수준이 더 큽니다. 노드로 작업할 때 XML 주석, 텍스트 노드, 처리 지침 등을 검사할 수 있습니다. 예를 들어 이 기능은 워드 프로세서를 작성하고 문서를 XML로 저장하려는 사람에게 중요합니다. 그러나 대부분의 XML 프로그래머는 주로 요소, 특성 및 해당 값에 관심이 있습니다.
요소 컬렉션을 검색하는 메서드
다음은 XElement 클래스(또는 해당 기본 클래스)의 메서드를 XElement에서 호출하여 요소 컬렉션을 반환한다는 요약입니다.
메서드 | 설명 |
---|---|
XNode.Ancestors | 이 요소의 IEnumerable<T> 상위 항목 중 일부를 XElement 반환합니다. 오버로드는 지정된 IEnumerable<T>를 가진 상위 항목 중에서 XElement의 XName를 반환합니다. |
XContainer.Descendants | 이 요소의 하위 항목 중 일부인 IEnumerable<T>의 XElement를 반환합니다. 오버로드는 지정된 IEnumerable<T>을(를) 가진 하위 항목의 XElement에 대해 XName을(를) 반환합니다. |
XContainer.Elements | IEnumerable<T> 이 요소의 XElement 자식 요소 중 일부를 반환합니다. 오버로드는 지정된 IEnumerable<T>을(를) 가진 자식 요소들의 XElement에서 XName을(를) 반환합니다. |
XNode.ElementsAfterSelf | IEnumerable<T> XElement 이 요소 뒤의 요소 중에서 반환합니다. 오버로드는 지정된 IEnumerable<T>이 있는 이 요소 이후의 요소들에서 XElement의 XName을 반환합니다. |
XNode.ElementsBeforeSelf | IEnumerable<T> 이 요소 앞에 오는 요소의 XElement 값을 반환합니다. 오버로드는 지정된 요소가 있는 이 요소 앞에 있는 요소 중 IEnumerable<T> 일부를 XElement 반환합니다XName. |
XElement.AncestorsAndSelf | 이 요소와 해당 상위 요소의 IEnumerable<T>에서 XElement 값을 반환합니다. 오버로드는 지정된 IEnumerable<T>를 가진 요소의 XElement의 XName를 반환합니다. |
XElement.DescendantsAndSelf | IEnumerable<T> 이 요소와 해당 하위 요소의 XElement 값을 반환합니다. 오버로드는 지정된 IEnumerable<T>를 가진 요소의 XElement의 XName를 반환합니다. |
단일 요소를 검색하는 방법
다음 메서드는 XElement 객체에서 단일 자식을 검색합니다.
메서드 | 설명 |
---|---|
XContainer.Element | 지정된 XElement를 가진 첫 번째 자식 XName 개체를 반환합니다. |
특성 컬렉션을 검색하는 방법
다음 메서드는 개체에서 XElement 특성을 검색합니다.
메서드 | 설명 |
---|---|
XElement.Attributes | IEnumerable<T>의 XAttribute를 모든 특성에 대해 반환합니다. |
단일 특성을 검색하는 방법
다음 메서드는 개체에서 XElement 단일 특성을 검색합니다.
메서드 | 설명 |
---|---|
XElement.Attribute | XAttribute에 해당하는 XName을 반환합니다. |
.NET