Extensions.XPathSelectElements Yöntem

Tanım

Bir XPath ifadesi kullanarak bir öğe koleksiyonu seçer.Selects a collection of elements using an XPath expression.

Aşırı Yüklemeler

XPathSelectElements(XNode, String)

Bir XPath ifadesi kullanarak bir öğe koleksiyonu seçer.Selects a collection of elements using an XPath expression.

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Bir XPath ifadesi kullanarak bir öğe koleksiyonu seçer, belirtilen ad alanı öneklerini çözer IXmlNamespaceResolver .Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.

Açıklamalar

Döndürülen koleksiyonların sıralaması XML XPath Language 1,0 önerisi içinde belirtilmese de, bu genişletme yöntemi belge sırasıyla düğümleri döndürür.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.

Ya da gibi bir ters eksen kullandığınızda bile, düğümlerin belge sırasıyla döndürüleceğini unutmayın 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)

Bir XPath ifadesi kullanarak bir öğe koleksiyonu seçer.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)

Parametreler

node
XNode

XNodeXPath ifadesinin değerlendirileceği.The XNode on which to evaluate the XPath expression.

expression
String

Bir String XPath ifadesi içeren bir.A String that contains an XPath expression.

Döndürülenler

IEnumerable<XElement>

IEnumerable<T> XElement Seçilen öğeleri içeren bir öğesi.An IEnumerable<T> of XElement that contains the selected elements.

Örnekler

Aşağıdaki örnek küçük bir XML ağacı oluşturur ve XPathSelectElements bir öğe kümesi seçmek için kullanır.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  

Bu örnek aşağıdaki çıktıyı üretir:This example produces the following output:

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

Açıklamalar

Döndürülen koleksiyonların sıralaması XML XPath Language 1,0 önerisi içinde belirtilmese de, bu genişletme yöntemi belge sırasıyla düğümleri döndürür.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.

Ya da gibi bir ters eksen kullandığınızda bile, düğümlerin belge sırasıyla döndürüleceğini unutmayın 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.

Şunlara uygulanır

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Bir XPath ifadesi kullanarak bir öğe koleksiyonu seçer, belirtilen ad alanı öneklerini çözer 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);
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)

Parametreler

node
XNode

XNodeXPath ifadesinin değerlendirileceği.The XNode on which to evaluate the XPath expression.

expression
String

Bir String XPath ifadesi içeren bir.A String that contains an XPath expression.

resolver
IXmlNamespaceResolver

IXmlNamespaceResolverXPath ifadesindeki ad alanı önekleri için A.A IXmlNamespaceResolver for the namespace prefixes in the XPath expression.

Döndürülenler

IEnumerable<XElement>

IEnumerable<T> XElement Seçilen öğeleri içeren bir öğesi.An IEnumerable<T> of XElement that contains the selected elements.

Örnekler

Bu örnek, bir ad alanı içeren bir XML ağacı oluşturur.This example creates an XML tree that contains a namespace. XmlReaderXML belgesini okumak için bir kullanır.It uses an XmlReader to read the XML document. Daha sonra öğesinden XmlNameTable XmlReader ve arasında bir alır XmlNamespaceManager XmlNameTable .It then gets an XmlNameTable from the XmlReader, and an XmlNamespaceManager from the XmlNameTable. XmlNamespaceManagerÖğe listesini seçerken öğesini kullanır.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  

Bu örnek aşağıdaki çıktıyı üretir: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>  

Açıklamalar

Bu yöntemi, ad alanı öneklerini içeren XPath ifadelerini değerlendirmek için kullanabilirsiniz.You can use this method to evaluate XPath expressions that contain namespace prefixes.

Döndürülen koleksiyonların sıralaması XML XPath Language 1,0 önerisi içinde belirtilmese de, bu genişletme yöntemi belge sırasıyla düğümleri döndürür.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.

Ya da gibi bir ters eksen kullandığınızda bile, düğümlerin belge sırasıyla döndürüleceğini unutmayın 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.

Şunlara uygulanır