Extensions.XPathSelectElements Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vybere kolekci prvků pomocí výrazu XPath.
Přetížení
| Name | Description |
|---|---|
| XPathSelectElements(XNode, String) |
Vybere kolekci prvků pomocí výrazu XPath. |
| XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Vybere kolekci prvků pomocí výrazu XPath, přeloží předpony oboru názvů pomocí zadaného IXmlNamespaceResolvervýrazu . |
Poznámky
I když pořadí vrácených kolekcí není zadáno v doporučení XML XPath Language 1.0, tato metoda rozšíření vrátí uzly v pořadí dokumentu.
Všimněte si, že uzly jsou vráceny v pořadí dokumentu, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.
XPathSelectElements(XNode, String)
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
Vybere kolekci prvků pomocí výrazu XPath.
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)
Parametry
Návraty
Z IEnumerable<T> toho XElement , která obsahuje vybrané prvky.
Příklady
Následující příklad vytvoří malý strom XML a používá XPathSelectElements k výběru sady elementů.
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
Tento příklad vytvoří následující výstup:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Poznámky
I když pořadí vrácených kolekcí není zadáno v doporučení XML XPath Language 1.0, tato metoda rozšíření vrátí uzly v pořadí dokumentu.
Všimněte si, že uzly jsou vráceny v pořadí dokumentu, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.
Platí pro
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
- Zdroj:
- XNodeNavigator.cs
Vybere kolekci prvků pomocí výrazu XPath, přeloží předpony oboru názvů pomocí zadaného IXmlNamespaceResolvervýrazu .
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)
Parametry
- resolver
- IXmlNamespaceResolver
A IXmlNamespaceResolver pro předpony oboru názvů ve výrazu XPath.
Návraty
Z IEnumerable<T> toho XElement , která obsahuje vybrané prvky.
Příklady
Tento příklad vytvoří strom XML, který obsahuje obor názvů. Používá XmlReader k přečtení dokumentu XML. Pak získá z XmlNameTableXmlReader, a XmlNamespaceManager z XmlNameTable. Používá XmlNamespaceManager se při výběru seznamu prvků.
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
Tento příklad vytvoří následující výstup:
<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>
Poznámky
Tuto metodu můžete použít k vyhodnocení výrazů XPath, které obsahují předpony oboru názvů.
I když pořadí vrácených kolekcí není zadáno v doporučení XML XPath Language 1.0, tato metoda rozšíření vrátí uzly v pořadí dokumentu.
Všimněte si, že uzly jsou vráceny v pořadí dokumentu, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.