Aracılığıyla paylaş


Extensions.XPathSelectElements Yöntem

Tanım

XPath ifadesi kullanarak bir öğe koleksiyonu seçer.

Aşırı Yüklemeler

XPathSelectElements(XNode, String)

XPath ifadesi kullanarak bir öğe koleksiyonu seçer.

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Belirtilen kullanılarak ad alanı ön eklerini çözümleyerek XPath ifadesi kullanan IXmlNamespaceResolverbir öğe koleksiyonunu seçer.

Açıklamalar

Döndürülen koleksiyonların sıralaması XML XPath Dil 1.0 Önerisi'nde belirtilmemiş olsa da, bu uzantı yöntemi düğümleri belge sırasına göre döndürür.

veya ancestor-or-selfgibi preceding-sibling bir ters eksen kullandığınızda bile düğümlerin belge sırasında döndürüldüğünü unutmayın.

XPathSelectElements(XNode, String)

XPath ifadesi kullanarak bir öğe koleksiyonu seçer.

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

XNode XPath ifadesinin değerlendirildiği.

expression
String

String XPath ifadesi içeren bir.

Döndürülenler

IEnumerable<XElement>

IEnumerable<T> XElement Seçili öğeleri içeren bir öğesi.

Örnekler

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

Bu örnek aşağıdaki çıkışı oluşturur:

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

Açıklamalar

Döndürülen koleksiyonların sıralaması XML XPath Dil 1.0 Önerisi'nde belirtilmemiş olsa da, bu uzantı yöntemi düğümleri belge sırasına göre döndürür.

veya ancestor-or-selfgibi preceding-sibling bir ters eksen kullandığınızda bile düğümlerin belge sırasında döndürüldüğünü unutmayın.

Şunlara uygulanır

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Belirtilen kullanılarak ad alanı ön eklerini çözümleyerek XPath ifadesi kullanan IXmlNamespaceResolverbir öğe koleksiyonunu seçer.

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

XNode XPath ifadesinin değerlendirildiği.

expression
String

String XPath ifadesi içeren bir.

resolver
IXmlNamespaceResolver

XPath ifadesindeki ad alanı ön ekleri için A IXmlNamespaceResolver .

Döndürülenler

IEnumerable<XElement>

IEnumerable<T> XElement Seçili öğeleri içeren bir öğesi.

Örnekler

Bu örnek, ad alanı içeren bir XML ağacı oluşturur. XML belgesini okumak için bir XmlReader kullanır. Ardından , ve 'den XmlReaderXmlNameTablebir XmlNamespaceManager alırXmlNameTable. Öğe listesini seçerken öğesini XmlNamespaceManager kullanır.

                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 çıkışı oluşturur:

<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

Ad alanı ön ekleri içeren XPath ifadelerini değerlendirmek için bu yöntemi kullanabilirsiniz.

Döndürülen koleksiyonların sıralaması XML XPath Dil 1.0 Önerisi'nde belirtilmemiş olsa da, bu uzantı yöntemi düğümleri belge sırasına göre döndürür.

veya ancestor-or-selfgibi preceding-sibling bir ters eksen kullandığınızda bile düğümlerin belge sırasında döndürüldüğünü unutmayın.

Şunlara uygulanır