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í
XPathSelectElements(XNode, String) |
Vybere kolekci prvků pomocí výrazu XPath. |
XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Vybere kolekci prvků pomocí výrazu XPath a 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í vrací uzly v pořadí dokumentů.
Mějte na paměti, že uzly jsou vráceny v pořadí dokumentů, i když používáte zpětnou osu, například preceding-sibling
nebo ancestor-or-self
.
XPathSelectElements(XNode, String)
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
Hodnota IEnumerable<T> XElement obsahující vybrané prvky.
Příklady
Následující příklad vytvoří malý strom XML a používá XPathSelectElements k výběru sady prvků.
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í vrací uzly v pořadí dokumentů.
Mějte na paměti, že uzly jsou vráceny v pořadí dokumentů, i když používáte zpětnou osu, například preceding-sibling
nebo ancestor-or-self
.
Platí pro
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
Vybere kolekci prvků pomocí výrazu XPath a 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
Hodnota IEnumerable<T> XElement obsahující vybrané prvky.
Příklady
Tento příklad vytvoří strom XML, který obsahuje obor názvů. XmlReader Používá k přečtení dokumentu XML. Pak získá XmlNameTable od XmlReadera XmlNamespaceManager z .XmlNameTable XmlNamespaceManager Používá 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í vrací uzly v pořadí dokumentů.
Mějte na paměti, že uzly jsou vráceny v pořadí dokumentů, i když používáte zpětnou osu, například preceding-sibling
nebo ancestor-or-self
.