XML-adatok kiválasztása az XPathNavigator használatával
Az XPathNavigator osztály egy XPath-kifejezéssel egy csomópontkészlet vagy XmlDocument objektum csomópontkészletének XPathDocument kiválasztására szolgál. Miután kiválasztotta, a kijelölt csomópontok halmazán át is iterálhat.
XPathNavigator kiválasztási módszerek
Az XPathNavigator osztály egy XPath-kifejezéssel egy csomópontkészlet vagy XmlDocument objektum csomópontkészletének XPathDocument kiválasztására szolgál. Az XPathNavigator osztály emellett optimalizált módszereket is biztosít az ős-, gyermek- és leszármazottcsomópontok gyorsabb kiválasztásához, mint egy XPath-kifejezés használata. A kijelölt csomópontkészlet egy XPathNodeIterator objektumban vagy objektumban XPathNavigator jelenik meg egyetlen kijelölt csomópont esetén.
Csomópontok kiválasztása XPath-kifejezésekkel
Ha XPath-kifejezéssel szeretne csomópontokat kijelölni, használja az alábbi kijelölési módszerek egyikét.
Meghívás esetén ezek a metódusok olyan csomópontkészleteket ad vissza, amelyek egyetlen kijelölt csomópont esetén szabadon navigálhatnak egy XPathNodeIterator objektum vagy objektum XPathNavigator használatával.
Az objektummal XPathNodeIterator való navigálás nem befolyásolja a XPathNavigator létrehozáshoz használt objektum pozícióját. A XPathNavigator metódusokból SelectSingleNode visszaadott objektum az egyetlen visszaadott csomóponton van elhelyezve, és nincs hatással a XPathNavigator létrehozásához használt objektum pozíciójára sem.
Az alábbi példa egy objektum objektumból való XPathNavigatorXPathDocument létrehozását, az Select objektum csomópontjainak XPathDocument kijelölésére szolgáló metódus használatát, valamint az objektumnak a XPathNodeIterator kijelölt csomópontokon való iterálásra való használatát mutatja be.
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);
}
A példa bemenetként veszi fel a books.xml
fájlt.
<?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>
Optimalizált kijelölési módszerek
Az SelectChildrenosztály , SelectAncestorsés metódusai a XPathNavigator gyermek-, leszármazott- és SelectDescendants őscsomópontok lekérésére gyakran használt XPath-kifejezéseket jelölik. Ezek a módszerek teljesítményre vannak optimalizálva, és gyorsabbak, mint a hozzájuk tartozó XPath-kifejezések. A SelectChildren, SelectAncestorsés SelectDescendants metódusok az ős-, gyermek- és leszármazott csomópontokat választják ki a XPathNodeType kijelölendő csomópontok értékének vagy helyi nevének és névterének URI-ja alapján. A kijelölt ős-, gyermek- és leszármazottcsomópontok egy XPathNodeIterator objektumban lesznek visszaadva.
Lásd még
- XmlDocument
- XPathDocument
- XPathNavigator
- XML-adatok feldolgozása az XPath-adatmodell használatával
- XPath-kifejezések kiértékelése az XPathNavigator használatával
- Csomópontok egyeztetése az XPathNavigator használatával
- XPath-lekérdezésekkel felismert csomóponttípusok
- XPath-lekérdezések és névterek
- Lefordított XPath-kifejezések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: