Sdílet prostřednictvím


Výběr dat XML pomocí XPathNavigator

Třída XPathNavigator poskytuje sadu metod sloužících k výběru sady uzlů v objektu XPathDocument nebo objektu XmlDocument pomocí výrazu XPath. Po výběru můžete iterovat nad vybranou sadou uzlů.

Metody výběru XPathNavigator

Třída XPathNavigator poskytuje sadu metod sloužících k výběru sady uzlů v objektu XPathDocument nebo objektu XmlDocument pomocí výrazu XPath. Třída XPathNavigator také poskytuje sadu optimalizovaných metod pro výběr nadřazených, podřízených a následnických uzlů rychleji než použití výrazu XPath. Vybraná sada uzlů se vrátí v objektu XPathNodeIterator nebo XPathNavigator objektu v případě jednoho vybraného uzlu.

Výběr uzlů pomocí výrazů XPath

Pokud chcete vybrat sadu uzlů pomocí výrazu XPath, použijte jednu z následujících metod výběru.

Při zavolání tyto metody vrátí sadu uzlů, které můžete volně procházet pomocí XPathNodeIterator objektu nebo XPathNavigator objektu v případě jednoho vybraného uzlu.

Navigace pomocí objektu XPathNodeIterator nemá vliv na pozici objektu použitého XPathNavigator k jeho vytvoření. Objekt XPathNavigator vrácený z SelectSingleNode metod je umístěn na jednom vráceném uzlu a také nemá vliv na pozici objektu použitého XPathNavigator k jeho vytvoření.

Následující příklad ukazuje vytvoření objektu XPathNavigator z objektu XPathDocument , použití Select metody k výběru uzlů v objektu XPathDocument a použití objektu XPathNodeIterator k iteraci nad vybranými uzly.

Dim document As XPathDocument = New XPathDocument("books.xml")  
Dim navigator As XPathNavigator = document.CreateNavigator()  
Dim nodes As XPathNodeIterator = navigator.Select("/bookstore/book")  
  
While nodes.MoveNext()  
    Console.WriteLine(nodes.Current.Name)  
End While  
XPathDocument document = new XPathDocument("books.xml");  
XPathNavigator navigator = document.CreateNavigator();  
XPathNodeIterator nodes = navigator.Select("/bookstore/book");  
  
while(nodes.MoveNext())  
{  
    Console.WriteLine(nodes.Current.Name);  
}  

Příklad vezme books.xml soubor jako vstup.

<?xml version="1.0" encoding="utf-8" ?> 
<bookstore>
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>

Optimalizované metody výběru

SelectChildren, SelectAncestorsa SelectDescendants metody XPathNavigator třídy představují XPath výrazy běžně používané k načtení podřízených, následnických a nadřazených uzlů. Tyto metody jsou optimalizované pro výkon a jsou rychlejší než odpovídající výrazy XPath. Funkce SelectChildren, SelectAncestorsa SelectDescendants metody vyberou nadřazené, podřízené a potomkové uzly na XPathNodeType základě hodnoty nebo místního názvu a identifikátoru URI oboru názvů uzlů, které chcete vybrat. Vybrané nadřazené, podřízené a potomkové uzly se vrátí v objektu XPathNodeIterator .

Viz také