Extensions.XPathSelectElements Extensions.XPathSelectElements Extensions.XPathSelectElements Extensions.XPathSelectElements Method

정의

XPath 식을 사용하여 요소 컬렉션을 선택합니다.Selects a collection of elements using an XPath expression.

오버로드

XPathSelectElements(XNode, String) XPathSelectElements(XNode, String) XPathSelectElements(XNode, String) XPathSelectElements(XNode, String)

XPath 식을 사용하여 요소 컬렉션을 선택합니다.Selects a collection of elements using an XPath expression.

XPathSelectElements(XNode, String, IXmlNamespaceResolver) XPathSelectElements(XNode, String, IXmlNamespaceResolver) XPathSelectElements(XNode, String, IXmlNamespaceResolver) XPathSelectElements(XNode, String, IXmlNamespaceResolver)

XPath 식을 사용하여 요소 컬렉션을 선택하고 지정된 IXmlNamespaceResolver를 사용하여 네임스페이스 접두사를 확인합니다.Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.

설명

반환 된 컬렉션의 순서를 지정 하지 않으면 XML XPath 언어 1.0 권장 사항에 있지만이 확장 메서드는 문서 순서로 노드를 반환 합니다.Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.

와 같은 역방향 축입니다를 사용 하는 경우에 노드가 문서 순서로 반환 되도록 유의 preceding-sibling 또는 ancestor-or-self합니다.Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.

XPathSelectElements(XNode, String) XPathSelectElements(XNode, String) XPathSelectElements(XNode, String) XPathSelectElements(XNode, String)

XPath 식을 사용하여 요소 컬렉션을 선택합니다.Selects a collection of elements using an XPath expression.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ XPathSelectElements(System::Xml::Linq::XNode ^ node, System::String ^ expression);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements (this System.Xml.Linq.XNode node, string expression);
static member XPathSelectElements : System.Xml.Linq.XNode * string -> seq<System.Xml.Linq.XElement>
<Extension()>
Public Function XPathSelectElements (node As XNode, expression As String) As IEnumerable(Of XElement)

매개 변수

node
XNode XNode XNode XNode

XPath 식을 평가할 XNode입니다.The XNode on which to evaluate the XPath expression.

expression
String String String String

XPath 식을 포함하는 String입니다.A String that contains an XPath expression.

반환

선택된 요소가 들어 있는 IEnumerable<T>XElement입니다.An IEnumerable<T> of XElement that contains the selected elements.

예제

다음 예제에서는 작은 XML 트리를 만들고 XPathSelectElements를 사용하여 요소 집합을 선택합니다.The following example creates a small XML tree and uses XPathSelectElements to select a set of elements.


                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  

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

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

설명

반환 된 컬렉션의 순서를 지정 하지 않으면 XML XPath 언어 1.0 권장 사항에 있지만이 확장 메서드는 문서 순서로 노드를 반환 합니다.Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.

와 같은 역방향 축입니다를 사용 하는 경우에 노드가 문서 순서로 반환 되도록 유의 preceding-sibling 또는 ancestor-or-self합니다.Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.

XPathSelectElements(XNode, String, IXmlNamespaceResolver) XPathSelectElements(XNode, String, IXmlNamespaceResolver) XPathSelectElements(XNode, String, IXmlNamespaceResolver) XPathSelectElements(XNode, String, IXmlNamespaceResolver)

XPath 식을 사용하여 요소 컬렉션을 선택하고 지정된 IXmlNamespaceResolver를 사용하여 네임스페이스 접두사를 확인합니다.Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ XPathSelectElements(System::Xml::Linq::XNode ^ node, System::String ^ expression, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);
static member XPathSelectElements : System.Xml.Linq.XNode * string * System.Xml.IXmlNamespaceResolver -> seq<System.Xml.Linq.XElement>
<Extension()>
Public Function XPathSelectElements (node As XNode, expression As String, resolver As IXmlNamespaceResolver) As IEnumerable(Of XElement)

매개 변수

node
XNode XNode XNode XNode

XPath 식을 평가할 XNode입니다.The XNode on which to evaluate the XPath expression.

expression
String String String String

XPath 식을 포함하는 String입니다.A String that contains an XPath expression.

resolver
IXmlNamespaceResolver IXmlNamespaceResolver IXmlNamespaceResolver IXmlNamespaceResolver

XPath 식의 네임스페이스 접두사에 대한 IXmlNamespaceResolver입니다.A IXmlNamespaceResolver for the namespace prefixes in the XPath expression.

반환

선택된 요소가 들어 있는 IEnumerable<T>XElement입니다.An IEnumerable<T> of XElement that contains the selected elements.

예제

이 예제에서는 네임 스페이스를 포함 하는 XML 트리를 만듭니다.This example creates an XML tree that contains a namespace. 여기에서는 XmlReader를 사용하여 XML 문서를 읽습니다.It uses an XmlReader to read the XML document. 그런 다음 XmlNameTable에서 XmlReader을 가져오고 XmlNamespaceManager에서 XmlNameTable를 가져옵니다.It then gets an XmlNameTable from the XmlReader, and an XmlNamespaceManager from the XmlNameTable. 사용 된 XmlNamespaceManager 요소의 목록을 선택 하는 경우.It uses the XmlNamespaceManager when selecting the list of elements.


                string markup = @"  
<aw:Root xmlns:aw='http://www.adventure-works.com'>  
    <aw:Child1>child one data 1</aw:Child1>  
    <aw:Child1>child one data 2</aw:Child1>  
    <aw:Child1>child one data 3</aw:Child1>  
    <aw:Child2>child two data 4</aw:Child2>  
    <aw:Child2>child two data 5</aw:Child2>  
    <aw:Child2>child two data 6</aw:Child2>  
</aw:Root>";  
XmlReader reader = XmlReader.Create(new StringReader(markup));  
XElement root = XElement.Load(reader);  
XmlNameTable nameTable = reader.NameTable;  
XmlNamespaceManager namespaceManager = new XmlNamespaceManager(nameTable);  
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com");  
IEnumerable<XElement> elements = root.XPathSelectElements("./aw:Child1", namespaceManager);  
foreach (XElement el in elements)  
    Console.WriteLine(el);  

                Dim markup As XElement = _  
<aw:Root xmlns:aw="http://www.adventure-works.com">  
    <aw:Child1>child one data 1</aw:Child1>  
    <aw:Child1>child one data 2</aw:Child1>  
    <aw:Child1>child one data 3</aw:Child1>  
    <aw:Child2>child two data 4</aw:Child2>  
    <aw:Child2>child two data 5</aw:Child2>  
    <aw:Child2>child two data 6</aw:Child2>  
</aw:Root>  
Dim reader As XmlReader = markup.CreateReader  
Dim nameTable As XmlNameTable = reader.NameTable  
Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(nameTable)  
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com")  
Dim elements As IEnumerable(Of XElement) = markup.XPathSelectElements("./aw:Child1", namespaceManager)  
For Each el As XElement In elements  
    Console.WriteLine(el)  
Next  

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

<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 1</aw:Child1>  
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 2</aw:Child1>  
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 3</aw:Child1>  

설명

네임 스페이스 접두사를 포함 하는 XPath 식을 평가할이 메서드를 사용할 수 있습니다.You can use this method to evaluate XPath expressions that contain namespace prefixes.

반환 된 컬렉션의 순서를 지정 하지 않으면 XML XPath 언어 1.0 권장 사항에 있지만이 확장 메서드는 문서 순서로 노드를 반환 합니다.Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.

와 같은 역방향 축입니다를 사용 하는 경우에 노드가 문서 순서로 반환 되도록 유의 preceding-sibling 또는 ancestor-or-self합니다.Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.

적용 대상