XPath
Paradigma | Abfragesprache |
---|---|
Entwickler | W3c |
Erstmals erschienen | 1998 |
Stabile Version | 3.1 / 21. März 2017 |
Beeinflusst von | |
Xslt, Xpointer | |
Beeinflusst | |
XML -Schema, XForms |
XPath (XML Pfadsprache) ist ein Ausdruckssprache Entwickelt, um die Abfrage oder Transformation von zu unterstützen Xml Unterlagen. Es wurde durch die definiert World Wide Web Konsortium (W3C)[1] und kann verwendet werden, um Werte zu berechnen (z. B.,, Saiten, Zahlen oder Boolesche Werte) aus dem Inhalt eines XML -Dokuments. Die Unterstützung für XPath gibt es in Anwendungen, die XML unterstützen, z. B. Webbrowser und viele Programmiersprachen.
Überblick
Die XPath -Sprache basiert auf einem Baumdarstellung des XML -Dokumentsund bietet die Möglichkeit, durch den Baum zu navigieren und Knoten nach einer Vielzahl von Kriterien auszuwählen.[2][3] Bei der populären Verwendung (wenn auch nicht in der offiziellen Spezifikation) wird ein XPath -Ausdruck oft einfach als "ein XPath" bezeichnet.
Ursprünglich motiviert durch den Wunsch, ein gemeinsames Syntax- und Verhaltensmodell dazwischen zu liefern Xpointer und Xslt, Untergruppen des XPaths Abfragesprache werden in anderen verwendet W3c Spezifikationen wie XML -Schema, XForms und die Internationalisierung Tag Set (ITS).
XPath wurde von einer Reihe von XML -Verarbeitungsbibliotheken und Tools übernommen, von denen viele auch bieten CSS -Selektoren, ein weiterer W3C -Standard, als einfachere Alternative zu XPath.
Versionen
Es gibt mehrere Versionen von XPath. XPath 1.0 wurde 1999, XPath 2.0 im Jahr 2007 (mit einer zweiten Ausgabe im Jahr 2010), XPath 3.0 im Jahr 2014 und XPath 3.1 im Jahr 2017 veröffentlicht. XPath 1.0 ist jedoch immer noch die Version, die am weitesten verbreitet ist.[1]
- XPATH 1.0 wurde am 16. November 1999 Empfehlung und wird ausführlich umgesetzt und verwendet, entweder für sich allein (über eine API aus Sprachen wie z. Java, C#, Python oder JavaScript) oder in Sprachen eingebettet wie z. Xslt, Xproc, XML -Schema oder xForms.
- XPath 2.0 wurde eine Empfehlung am 23. Januar 2007 mit einer zweiten Ausgabe am 14. Dezember 2010. Es gibt eine Reihe von Implementierungen, die jedoch nicht so weit verbreitet sind wie XPath 1.0. Die Sprachspezifikation von XPath 2.0 ist viel größer als XPath 1.0 und ändert einige der grundlegenden Konzepte der Sprache wie dem Typ -System.
- Die bemerkenswerteste Änderung ist, dass XPath 2.0 um die gebaut wird XQuery- und XPath -Datenmodell (XDM) Das hat ein viel reichhaltigeres Typsystem.[a] Jeder Wert ist jetzt eine Sequenz (ein einzelner Atomwert oder Knoten wird als Sequenz von Länge eins angesehen). XPATH 1.0-Knotenmengen werden durch Knotensequenzen ersetzt, die in beliebiger Reihenfolge sein können.
- Um reichhaltigere Typ -Sets zu unterstützen, bietet XPath 2.0 einen stark erweiterten Satz von Funktionen und Betreibern.
- XPath 2.0 ist in der Tat eine Teilmenge von XQuery 1.0. Sie teilen das gleiche Datenmodell (XDM). Es bietet a
zum
Ausdruck, der eine abgeschnittene Version des "ist"Flor"Ausdrücke in XQuery. Es ist möglich, die Sprache zu beschreiben, indem die Teile von XQuery, die sie auslässtTypSwitch
Ausdruck.
- XPath 3.0 wurde eine Empfehlung am 8. April 2014.[4] Die wichtigste neue Funktion ist die Unterstützung für Funktionen als erstklassige Werte.[5] XPATH 3.0 ist eine Teilmenge von XQuery 3.0, und die meisten aktuellen Implementierungen (April 2014) existieren als Teil einer XQuery 3.0 -Engine.
- XPath 3.1 wurde am 21. März 2017 Empfehlung.[6] Diese Version fügt neue Datentypen hinzu: Karten und Arrays, hauptsächlich zur Unterstützung der Unterstützung für JSON.
Syntax und Semantik (XPath 1.0)
Die wichtigste Art von Ausdruck in XPath ist a Standortpfad. Ein Ortpfad besteht aus einer Sequenz von Standortschritte. Jeder Standortschritt hat drei Komponenten:
- ein Achse
- a Knotentest
- Null oder mehr Prädikate.
Ein XPath -Ausdruck wird in Bezug auf a bewertet Kontextknoten. Ein Achsenspezifizierer wie "Kind" oder "Nachkommen" gibt die Richtung an, um vom Kontextknoten zu navigieren. Der Knotentest und das Prädikat werden verwendet, um die vom Achsenspezifizierer angegebenen Knoten zu filtern: Zum Beispiel erfordert der Knotentest 'A', dass alle Knoten nach dem Kennzeichnung "a" navigiert werden müssen. Ein Prädikat kann verwendet werden, um anzugeben, dass die ausgewählten Knoten bestimmte Eigenschaften haben, die durch XPath -Ausdrücke selbst angegeben werden.
Die XPath -Syntax ist in zwei Geschmacksrichtungen erhältlich: die abgekürzte Syntax, ist kompakter und ermöglicht es XPaths, mit intuitiven und in vielen Fällen vertraute Charaktere und Konstrukte leicht zu schreiben und zu lesen. Das Vollständige Syntax ist ausführlicher, ermöglicht jedoch, dass mehr Optionen angegeben werden und ist beschreibender, wenn sie sorgfältig gelesen werden.
Abgekürzte Syntax
Die kompakte Notation ermöglicht viele Standardeinstellungen und Abkürzungen für gemeinsame Fälle. Gegebene Quelle XML mit mindestens
Der einfachste XPath nimmt eine Form an, wie z.
/ABC
Das wählt C -Elemente aus, die Kinder von B -Elementen sind, die Kinder des A -Elements sind, das das äußerste Element des XML -Dokuments bildet. Die XPath -Syntax ist so konzipiert, dass sie URI nachahmen ((Einheitliche Ressourcenkennung) und Dateipfad im Unix-Stil Syntax.
Komplexere Ausdrücke können konstruiert werden, indem eine andere Achse als die Standard -Child -Achse, ein anderes Knotentest als einen einfachen Namen oder Prädikate, die nach jedem Schritt in quadratischen Klammern geschrieben werden können, angeben. Zum Beispiel der Ausdruck
A // b/*[1]
Wählt das erste Kind ('aus*[1]
'), was auch immer sein Name, jedes B -Elements, das selbst ein Kind oder einen anderen, tieferen Nachkomme ist ('//
') eines ein Elements, das ein Kind des aktuellen Kontextknotens ist (der Ausdruck beginnt nicht mit einem'/
'). Beachten Sie, dass das Prädikat [1]
bindet enger als die /
Operator. So wählen Sie den ersten Knoten aus, der vom Ausdruck ausgewählt wurde A // b/*
, schreiben (A // b/*) [1]
. Beachten Sie auch, dass Indexwerte in XPath -Prädikaten (technisch gesehen "Proximity -Positionen" von XPath -Knotensätzen) von 1 beginnen, nicht 0 als häufig in Sprachen wie C und Java.
Erweiterte Syntax
In der vollen, unvergleichlichen Syntax würden die beiden oben genannten Beispiele geschrieben
/child::A/child::B/child::C
child::A/descendant-or-self::node()/child::B/child::node()[position()=1]
Hier in jedem Schritt des XPaths die Achse (z.B. Kind
oder Nachkommen-or-Selbst
) wird explizit spezifiziert, gefolgt von ::
und dann die Knotentest, wie zum Beispiel A
oder Knoten()
In den obigen Beispielen.
Hier gleich, aber kürzer: A//B/*[position()=1]
Achsenspezifizierer
Achsenspezifizierer geben die Navigationsrichtung innerhalb der Baumpräsentation des XML -Dokuments an. Die verfügbaren Äxte sind:[b]
Vollständige Syntax | Abgekürzte Syntax | Anmerkungen |
---|---|---|
ancestor | ||
ancestor-or-self | ||
attribute | @ | @abc ist kurz für attribute::abc |
child | xyz ist kurz für child::xyz | |
descendant | ||
descendant-or-self | // | // ist kurz für /descendant-or-self::node()/ |
following | ||
following-sibling | ||
namespace | ||
parent | .. | .. ist kurz für parent::node() |
preceding | ||
preceding-sibling | ||
self | . | . ist kurz für self::node() |
Als Beispiel für die Verwendung der Verwendung der Attribut Achse in abgekürzten Syntax, // a/@href
Wählt das aufgerufene Attribut aus href
in a
Elemente überall im Dokumentbaum. Der Ausdruck . (eine Abkürzung für Selbst :: node ()) wird am häufigsten innerhalb eines Prädikats verwendet, um sich auf den aktuell ausgewählten Knoten zu beziehen. Zum Beispiel, H3 [. = 'Siehe auch']
wählt ein Element auf, das aufgerufen wurde H3
Im aktuellen Kontext, dessen Textinhalt ist Siehe auch
.
Knotentests
Knotentests können aus spezifischen Knotennamen oder allgemeineren Ausdrücken bestehen. Im Falle eines XML -Dokuments, in dem das Namespace -Präfix gs
Wurde definiert, // GS: Anfrage
wird alle finden Anfrage
Elemente in diesem Namespace und // gs:*
Findet in diesem Namespace alle Elemente, unabhängig vom lokalen Namen.
Andere Knoten -Testformate sind:
- Kommentar()
- Findet einen XML -Kommentarknoten, z.
- Text()
- Findet einen Knoten von Typ Text ohne Kinder, z. das
hallo
inhallo Welt - Verarbeitungsinstruktion ()
- Findet XML Verarbeitungsanweisungen wie zum Beispiel
. In diesem Fall,
Verarbeitungsinstruktion ('PHP')
würde übereinstimmen. - Knoten()
- Findet überhaupt einen Knoten.
Prädikate
Prädikate, die als Ausdrücke in quadratischen Klammern geschrieben wurden, können verwendet werden Filter ein Knotensatz gemäß einer Bedingung. Zum Beispiel, a
Gibt einen Knotensatz zurück (alle a
Elemente, die Kinder des Kontextknotens sind) und a[@href='help.php']
hält nur die Elemente mit einer href
Attribut mit dem Wert help.php
.
Die Anzahl der Prädikate in einem Schritt ist keine Begrenzung und sie müssen nicht auf den letzten Schritt in einem XPath beschränkt sein. Sie können auch in jede Tiefe verschachtelt werden. Die in Prädikaten angegebenen Pfade beginnen im Kontext des aktuellen Schritts (d. H. dem des unmittelbar vorhergehenden Knotentests) und ändern diesen Kontext nicht. Alle Prädikate müssen zufrieden sein, damit ein Match auftritt.
Wenn der Wert des Prädikats numerisch ist, ist es syntaktisch-sugar zum Vergleich mit der Position des Knotens im Knotensatz (wie durch die Funktion angegeben Position()
). So P [1]
ist Kurzschrift für p[position()=1]
und wählt die erste aus p
Element Child während p [last ()]
ist Kurzschrift für p[position()=last()]
und wählt das letzte aus p
Kind des Kontextknotens.
In anderen Fällen wird der Wert des Prädikats automatisch in einen Booleschen umgewandelt. Wenn das Prädikat an einem Knotensatz bewertet wird, ist das Ergebnis wahr, wenn der Knotensatz ist nicht leer[klären]. Daher P [@x]
wählt diese aus p
Elemente, die ein Attribut namens haben x
.
Ein komplexeres Beispiel: der Ausdruck a[/html/@lang='en'][@href='help.php'][1]/@target
wählt den Wert der aus Ziel
Attribut des ersten a
Element unter den Kindern des Kontextknotens, der seine hat href
Attribut festgelegt auf help.php
, bereitgestellt das Dokument html
Top-Level-Element hat auch a Lang
Attribut festgelegt auf en
. Der Verweis auf ein Attribut des Elements der obersten Ebene im ersten Prädikat beeinflusst weder den Kontext anderer Prädikate noch den des Standortschrittes selbst.
Die Prädikatreihenfolge ist signifikant, wenn Prädikate die Position eines Knotens testen. Jedes Prädikat nimmt einen Knotensatz ein, das ein (möglicherweise) kleinerer Knotensatz zurückgibt. So a[1][@href='help.php']
findet nur ein Match, wenn das erste a
Kind des Kontextknotens erfüllt die Bedingung @href = 'help.php'
, während a[@href='help.php'][1]
Ich werde den ersten finden a
Kind, das diesen Zustand erfüllt.
Funktionen und Betreiber
XPath 1.0 definiert vier Datentypen: Knotenmengen (Sätze von Knoten ohne intrinsische Reihenfolge), Zeichenfolgen, Zahlen und Booleschen.
Die verfügbaren Betreiber sind:
- Das
/
,//
und[...]
Operatoren, wie oben beschrieben in Pfadausdrücken verwendet. - Ein Gewerkschaftsbetreiber,
|
, was die Vereinigung von zwei Knotenmengen bildet. - boolesche Operatoren
and
undor
und eine Funktionnot()
- Rechenzeichen
+
,-
,*
,div
(teilen) undmod
- Vergleichsoperatoren
=
,!=
,<
,>
,<=
,>=
Die Funktionsbibliothek umfasst:
- Funktionen zur Manipulation von Saiten: concat (), substring (), enthält (), substring-beeforen (), substring-achter (), translate (), Normalize-space (), String-Length ()
- Funktionen zur Manipulation von Zahlen: Sum (), Round (), Floor (), Decke ()
- Funktionen, um Eigenschaften von Knoten zu erhalten: name (), lokal-name (), namespace-uri ()
- Funktionen, um Informationen über den Verarbeitungskontext zu erhalten: Position (), last ()
- Tippen Sie Konvertierungsfunktionen ein: string (), number (), boolean ()
Einige der am häufigsten nützlichen Funktionen sind unten detailliert.[c]
Knotensatzfunktionen
- Position()
- Gibt eine Zahl zurück, die die Position dieses Knotens in der Folge der derzeit verarbeiteten Knoten darstellt (z. B. die von einem XSL: For-Each-Anweisungen in XSLT ausgewählten Knoten).
- zählen(Knotenset)
- Gibt die Anzahl der Knoten im Knotensatz zurück, das als Argument geliefert wird.
String -Funktionen
- String (Objekt?)
- Konvertiert einen der vier XPath-Datentypen gemäß den integrierten Regeln in eine Zeichenfolge. Wenn der Wert des Arguments ein Knotensatz ist, gibt die Funktion den Stringwert des ersten Knotens in Dokumentreihenfolge zurück und ignoriert weitere Knoten.
- concat (Saite, Saite, Saite*)
- verkettet Zwei oder mehr Saiten
- beginnt mit(S1, S2)
- kehrt zurück
Stimmt
wennS1
beginnt mitS2
- enthält (S1, S2)
- kehrt zurück
Stimmt
wennS1
enthältS2
- Substring (Saite, Anfang, Länge?)
- Beispiel:
Substring ("Abcdef", 2,3)
kehrt zurückBCD
. - Substring-vor (S1, S2)
- Beispiel:
Substring-vorne ("1999/04/01", "/")
kehrt zurück1999
- Substring (S1, S2)
- Beispiel:
Substring-After ("1999/04/01", "/")
kehrt zurück04/01
- String-Länge (Zeichenfolge?)
- Gibt die Anzahl der Zeichen in String zurück
- Space normalisieren (Saite?)
- alle führend und nachlaufend Whitespace wird entfernt und alle Sequenzen von Whitespace -Zeichen werden durch einen einzelnen Raum ersetzt. Dies ist sehr nützlich, wenn der ursprüngliche XML möglicherweise gewesen ist PrettyPrint formatiert, was eine weitere String -Verarbeitung unzuverlässig machen könnte.
Boolesche Funktionen
- nicht(Boolesche)
- negiert jeden booleschen Ausdruck.
- Stimmt()
- bewertet Stimmt.
- FALSCH()
- bewertet FALSCH.
Zahlenfunktionen
- Summe(Knotenset)
- Konvertiert die Stringwerte aller vom XPath-Argument gefundenen Knoten gemäß den integrierten Gussregeln in Zahlen und gibt dann die Summe dieser Zahlen zurück.
Verwendungsbeispiele
Ausdrücke können in Prädikaten mit den Operatoren erstellt werden: =,! =, <=, <,> =
und >
. Boolesche Ausdrücke können mit Klammern kombiniert werden ()
und die Booleschen Betreiber und
und oder
ebenso wie nicht()
oben beschriebene Funktion. Numerische Berechnungen können verwenden *, +, -, div
und Mod
. Saiten können aus jedem bestehen Unicode Figuren.
//item[@price > 2*@discount]
Wählt Artikel aus, deren Preisattribut größer als doppelt so hoch ist wie der numerische Wert ihres Rabattattributs.
Ganze Knotenmengen können kombiniert werden ("Gewerkschaftlich") unter Verwendung des vertikalen Balkenzeichens |. Knotensätze, die eine oder mehrere von mehreren Bedingungen erfüllen, finden Sie durch die Kombination der Bedingungen innerhalb eines Prädikats mit ''oder
'.
v [x oder y] | w [z]
Gibt einen einzelnen Knotensatz zurück, der aus allen besteht v
Elemente, die haben x
oder y
Kinderelemente sowie alle die w
Elemente, die haben z
Kinderelemente, die im aktuellen Kontext gefunden wurden.
Syntax und Semantik (XPath 2.0)
Syntax und Semantik (XPath 3)
Beispiele
Bei einem Beispiel XML -Dokument
Name ="Wikipedia" starten ="2001-01-05"> Sprache ="Englisch">en.wikipedia.org Sprache ="Deutsch">De.wikipedia.org Sprache ="Französisch">fr.wikipedia.org Sprache ="Polieren">pl.wikipedia.org Sprache ="Spanisch">Es.wikipedia.org Name ="Wiktionär" starten ="2002-12-12"> Sprache ="Englisch">en.wiktionary.org Sprache ="Französisch">fr.wiktionary.org Sprache ="Vietnamesisch">vi.wiktionary.org Sprache ="Türkisch">tr.wiktionary.org Sprache ="Spanisch">Es.wiktionary.org
Der XPath -Ausdruck
/Wikimedia/Projekte/Projekt/@Name
wählt Namensattribute für alle Projekte aus, und
/Wikimedia // Editionen
wählt alle Ausgaben aller Projekte aus, und
/Wikimedia/projects/project/editions/edition[@language='English']/text()
Wählt Adressen aller englischen Wikimedia -Projekte aus (Text von allen Auflage
Elemente wo Sprache
Attribut ist gleich zu Englisch). Und die folgende
/Wikimedia/projects/project[@name='Wikipedia']/editions/edition/text()
wählt Adressen aller Wikipedias aus (Text von allen Auflage
Elemente, die unter existieren Projekt
Element mit einem Namensattribut von Wikipedia).
Implementierungen
Befehlszeilenwerkzeuge
- Xmlstarlet Einfach zu verwenden, um XPath -Befehle im laufenden Flug zu testen/auszuführen.
- xmllint (libxml2)
- Der RaptorxML -Server von Altova unterstützt XPath 1.0, 2.0 und 3.0
- Xidel
C/C ++
Kostenloser Pascal
- Das Gerät XPath ist in den Standardbibliotheken enthalten
Implementierungen für Datenbankmotoren
Java
- Saxon XSLT Unterstützt XPath 1.0, XPath 2.0 und XPath 3.0 (sowie XSLT 2.0, XQuery 3.0 und XPath 3.0)
- Basex (Unterstützt auch XPath 2.0 und XQuery)
- VTD-XML
- Sedna XML -Datenbank Sowohl XML: DB als auch proprietär.
- QuixPath a Streaming Open Source Implementierung durch Innovimax
- Xalan
- Dom4j
Das Java Paket javax.xml.xpath
ist seit Java 5 Teil der Java Standard Edition[8] über die Java -API für die XML -Verarbeitung. Technisch ist dies ein XPath API Anstelle einer XPath -Implementierung und ermöglicht dem Programmierer die Möglichkeit, eine bestimmte Implementierung auszuwählen, die der Schnittstelle entspricht.
JavaScript
- JQuery XPath Plugin bezogen auf Open-Source XPath 2.0-Implementierung in JavaScript
- FontoxPath Open Source XPath 3.1 Implementierung in JavaScript. Momentan in Entwicklung.
.NET Framework
- Im system.xml und system.xml.xpath Namespaces[9]
- Sedna XML -Datenbank
Perl
- Xml :: libxml (libxml2)
Php
- Sedna XML -Datenbank
- DomxPath Über libxml Erweiterung
Python
- Das ElementTree XML API In der Python Standard Library enthält Bibliothek Begrenzte Unterstützung Für XPath -Ausdrücke
- libxml2
- Amara
- Sedna XML -Datenbank
- lxml
- Scrapy[10]
Rubin
Planen
- Sedna XML -Datenbank
Sql
- Mysql Unterstützt ab Version 5.1.5 eine Teilmenge von XPath[11]
- PostgreSQL Unterstützt XPath und XSLT ab Version 8.4[12]
Tcl
- Das TDOM -Paket bietet eine vollständige, konforme und schnelle XPath -Implementierung in C.[13]
Verwendung in Schemasprachen
XPath wird zunehmend verwendet, um Einschränkungen in Schemasprachen für XML auszudrücken.
- Das jetzt ISO -Standard) Schemasprache Schematron Pionierarbeit den Ansatz.
- Eine Streaming -Teilmenge von XPath wird in W3C XML Schema 1.0 verwendet, um Einzigartigkeit und wichtige Einschränkungen auszudrücken. In XSD 1.1 wird die Verwendung von XPath erweitert, um die bedingte Typzuweisung basierend auf Attributwerten zu unterstützen und um beliebige boolesche Behauptungen gegen den Inhalt der Elemente zu bewerten.
- XForms verwendet XPath, um Typen an Werte zu binden.
- Der Ansatz hat sogar in Nicht-XML-Anwendungen verwendet PMD: Die Java wird zu a konvertiert Dom-ähnlich an Parse Tree, dann werden XPath -Regeln über dem Baum definiert.
Siehe auch
Anmerkungen
- ^ XPath 2.0 unterstützt Atomtypen, definiert als eingebaute Typen in XML -Schemaund kann auch benutzerdefinierte Typen aus einem Schema importieren.
- ^ XML Authority Normal Walsh hat eine hervorragende Online -Visualisierung der Achsenspezifizierer.[7] Es erscheint aus der Abbildung, dass Vorher, Vorfahr, selbst, Nachfahre, und folgen Form einer vollständigen, nicht überlappenden Partition des Dokumentelementbaums.
- ^ Eine vollständige Beschreibung finden Sie unter Das W3C -Empfehlungsdokument.
Verweise
- ^ a b "XML und Semantic Web W3C Standards Timeline" (PDF). 2012-02-04.
- ^ Bergeron, Randy (2000-10-31). "XPath - Erfahren Sie Knoten aus einem XML -Dokument". SQL Server Magazine. Archiviert von das Original Am 2010-07-26. Abgerufen 2011-02-24.
- ^ Pierre Geneves (2012). "Kurs: Die XPath -Sprache" (PDF).
- ^ "XML Path Language (XPath) 3.0". World Wide Web Consortium (W3C). 2014-04-02. Abgerufen 2021-07-16.
- ^ Kay, Michael (2012-02-10). "Was ist neu in 3.0 (XSLT/XPath/XQuery) (plus XML -Schema 1.1)" (PDF). XML Prag 2012. Abgerufen 2021-07-16.
- ^ "XML Path Language (XPath) 3.1". World Wide Web Consortium (W3C). 2017-03-21. Abgerufen 2021-07-16.
- ^ Walsh, Norman (1999). "Achsenspezifizierer". nwalsh.com. Persönlicher Blog des verehrten XML Sage Graybeard. Abgerufen 2021-02-25.
- ^ "javax.xml.xpath (Java SE 10 & JDK 10)". Java® Platform, Standard Edition & Java Development Kit Version 10 API -Spezifikation. Abgerufen 2021-07-17.
Da: 1.5
- ^ "System.xml Namespace". Microsoft Docs. 2020-10-25. Abgerufen 2021-07-16.
- ^ Duke, Justin (2016-09-29). "Wie man eine Webseite mit Scrapy und Python 3 kriecht". Digitaler Ozean. Abgerufen 2017-11-24.
Selektoren sind Muster, mit denen wir ein oder mehrere Elemente auf einer Seite finden können, damit wir mit den Daten innerhalb des Elements arbeiten können. Scrapy unterstützt entweder CSS -Selektoren oder XPath -Selektoren.
- ^ "MySQL :: Mysql 5.1 Referenzhandbuch :: 12.11 XML Funktionen". dev.mysql.com. 2016-04-06. Archiviert vom Original am 2016-04-06. Abgerufen 2021-07-17.
{{}}
: CS1 Wartung: Ungeeignete URL (Link) - ^ "xml2". PostgreSQL -Dokumentation. 2014-07-24. Abgerufen 2021-07-16.
- ^ Loewer, Jochen (2000). "TDOM - Ein schnelles XML/DOM/XPath -Paket für TCL, das in C geschrieben wurde" (PDF). Proceedings des ersten europäischen TCL/TK -Nutzertreffens. Abgerufen 16. Juli 2021.
Externe Links
- XPath 1.0 Spezifikation
- XPATH 2.0 -Spezifikation
- XPATH 3.0 -Spezifikation
- XPATH 3.1 Spezifikation
- Was ist neu in XPath 2.0
- XPath Referenz (MSDN)
- XPath Expressionsyntax (Saxon)
- XPath 2.0 Expressionsyntax (Saxon), [1]
- XPath - MDC -Dokumente durch Mozilla Developer Network
- XPath Einführung/Tutorial
- XSLT- und XPath -Funktionsreferenz