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 .