다음을 통해 공유


방법: XPath를 사용하여 LINQ to XML 쿼리

이 항목에서는 XPath를 사용하여 XML 트리를 쿼리할 수 있도록 하는 확장 메서드에 대해 소개합니다. 이러한 확장 메서드 사용에 대한 자세한 내용은 System.Xml.XPath.Extensions를 참조하십시오.

레거시 코드의 광범위한 사용과 같이 XPath를 사용하여 쿼리할 매우 구체적인 이유가 없는 한 LINQ to XML과 함께 XPath를 사용하지 않는 것이 좋습니다. XPath 쿼리의 성능은 LINQ to XML 쿼리의 성능보다 좋지 않습니다.

예제

다음 예제에서는 작은 XML 트리를 만들고 XPathSelectElements를 사용하여 요소 집합을 선택합니다.

XElement root = new XElement("Root",
    new XElement("Child1", 1),
    new XElement("Child1", 2),
    new XElement("Child1", 3),
    new XElement("Child2", 4),
    new XElement("Child2", 5),
    new XElement("Child2", 6)
);
IEnumerable<XElement> list = root.XPathSelectElements("./Child2");
foreach (XElement el in list)
    Console.WriteLine(el);
Dim root As XElement = _
    <Root>
        <Child1>1</Child1>
        <Child1>2</Child1>
        <Child1>3</Child1>
        <Child2>4</Child2>
        <Child2>5</Child2>
        <Child2>6</Child2>
    </Root>

Dim list As IEnumerable(Of XElement) = root.XPathSelectElements("./Child2")
For Each el As XElement In list
    Console.WriteLine(el)
Next

이 예제는 다음과 같이 출력됩니다.

<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>

참고 항목

개념

고급 쿼리 기법(LINQ to XML)