Extensions.XPathSelectElements Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wählt eine Auflistung von Elementen mithilfe eines XPath-Ausdrucks aus.
Überlädt
| Name | Beschreibung |
|---|---|
| XPathSelectElements(XNode, String) |
Wählt eine Auflistung von Elementen mithilfe eines XPath-Ausdrucks aus. |
| XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Wählt eine Auflistung von Elementen mithilfe eines XPath-Ausdrucks aus, wobei Namespacepräfixe mithilfe des angegebenen Präfixes aufgelöst werden IXmlNamespaceResolver. |
Hinweise
Obwohl die Reihenfolge der zurückgegebenen Auflistungen in der XML XPath Language 1.0-Empfehlung nicht angegeben ist, gibt diese Erweiterungsmethode Knoten in der Dokumentreihenfolge zurück.
Beachten Sie, dass Knoten in Dokumentreihenfolge zurückgegeben werden, auch wenn Sie eine umgekehrte Achse verwenden, z preceding-sibling . B. oder ancestor-or-self.
XPathSelectElements(XNode, String)
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
Wählt eine Auflistung von Elementen mithilfe eines XPath-Ausdrucks aus.
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)
Parameter
Gibt zurück
Ein Element IEnumerable<T> , das XElement die ausgewählten Elemente enthält.
Beispiele
Im folgenden Beispiel wird eine kleine XML-Struktur erstellt und zum Auswählen einer Gruppe von Elementen verwendet 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
Dieses Beispiel erzeugt die folgende Ausgabe:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Hinweise
Obwohl die Reihenfolge der zurückgegebenen Auflistungen in der XML XPath Language 1.0-Empfehlung nicht angegeben ist, gibt diese Erweiterungsmethode Knoten in der Dokumentreihenfolge zurück.
Beachten Sie, dass Knoten in Dokumentreihenfolge zurückgegeben werden, auch wenn Sie eine umgekehrte Achse verwenden, z preceding-sibling . B. oder ancestor-or-self.
Gilt für:
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
- Quelle:
- XNodeNavigator.cs
Wählt eine Auflistung von Elementen mithilfe eines XPath-Ausdrucks aus, wobei Namespacepräfixe mithilfe des angegebenen Präfixes aufgelöst werden 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)
Parameter
- resolver
- IXmlNamespaceResolver
A IXmlNamespaceResolver für die Namespacepräfixe im XPath-Ausdruck.
Gibt zurück
Ein Element IEnumerable<T> , das XElement die ausgewählten Elemente enthält.
Beispiele
In diesem Beispiel wird eine XML-Struktur erstellt, die einen Namespace enthält. Zum Lesen des XML-Dokuments wird ein XmlReader Xml-Dokument verwendet. Es wird XmlNameTable dann von der XmlReader, und eine XmlNamespaceManager von der XmlNameTable. Sie verwendet die XmlNamespaceManager Beim Auswählen der Liste der Elemente.
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
Dieses Beispiel erzeugt die folgende Ausgabe:
<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>
Hinweise
Mit dieser Methode können Sie XPath-Ausdrücke auswerten, die Namespacepräfixe enthalten.
Obwohl die Reihenfolge der zurückgegebenen Auflistungen in der XML XPath Language 1.0-Empfehlung nicht angegeben ist, gibt diese Erweiterungsmethode Knoten in der Dokumentreihenfolge zurück.
Beachten Sie, dass Knoten in Dokumentreihenfolge zurückgegeben werden, auch wenn Sie eine umgekehrte Achse verwenden, z preceding-sibling . B. oder ancestor-or-self.