Zum Inhalt springen
100% lokal

XPath-Evaluator

Führen Sie einen XPath 1.0-Ausdruck gegen eingefügtes XML aus und sehen Sie jeden Treffer, seinen Wert und seinen Pfad.

Eingabe
Ausgabe

XPath-Evaluator

Fügen Sie ein XML-Dokument ein, schreiben Sie einen XPath 1.0-Ausdruck und dieses Tool listet jeden Knoten auf, auf den er zutrifft — ohne ein Skript schreiben oder einen Debugger öffnen zu müssen, um zu überprüfen, ob eine Auswahl wirklich findet, was Sie erwartet. Das Tool wurde für den Moment konzipiert, in dem Sie ein XSLT-Stylesheet, eine Scraping-Regel oder einen XQuery-Pfad betrachten, der nicht das zurückgibt, was Sie erwarteten, und Sie den Ausdruck isoliert auf dem echten Dokument testen müssen.

Die Option für den Ergebnistyp steuert, wie der Wert des Ausdrucks gelesen wird: „Knotenmenge“ listet alle passenden Elemente, Attribute, Textknoten oder Kommentare auf; „Zeichenkette“, „Zahl“ und „Wahrheitswert“ wandeln den gesamten Ausdruck so um, wie die XPath-Funktionen string(), number() und boolean() selbst es täten, was die Methode ist, um einen Vergleich oder einen count()-Aufruf isoliert zu überprüfen. Bei Knoten-Set-Ergebnissen wechselt „Treffer anzeigen als“ zwischen dem Textinhalt jedes Treffers und seinem vollständig serialisierten XML, und Sie können die Treffer nummerieren oder jedem den aufgelösten Pfad voranstellen (z. B. /catalog/book[2]/title), der ihn gefunden hat.

Die unterstützte Syntax deckt die Teilmenge ab, die Menschen tatsächlich verwenden: alle zehn Standard-Achsen (child, descendant, descendant-or-self für //, parent, ancestor, self, following-sibling, preceding-sibling und attribute für @), Platzhalter, Positionsprädikate und boolesche Prädikate, den Vereinigungsoperator und gebräuchliche Funktionen — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space() und die arithmetischen sowie Vergleichsoperatoren. Variablen, document(), key() und die Namespace-Achse werden nicht unterstützt. Dokumente mit Namespaces benötigen eine an ihre URI gebundene Präfix unter „Namespace-Bindungen“, ein Präfix=URI-Paar pro Zeile — oder aktivieren Sie „Namespaces ignorieren“, um nur nach dem lokalen Namen zu suchen, unabhängig von der Präfix.

Alles läuft lokal in Ihrem Browser: Das XML, das Sie eingeben, und der Ausdruck, den Sie dagegen schreiben, werden nirgendwohin hochgeladen, daher ist es sicher, es gegen echte API-Antworten, Konfigurationsexporte oder Produktionsprotokollausschnitte zu testen. Ungültiges XML und ungültige Ausdrücke werden mit Angabe des Fehlers und des Grundes gemeldet, nicht mit einem leeren Ergebnis.

Häufige Fragen

Welche Teile von XPath 1.0 werden unterstützt?
Alle zehn Standard-Achsen, Name- und Knotentyp-Tests (einschließlich Platzhalter und text()/comment()/node()), Positionsprädikate und boolesche Prädikate, der Vereinigungsoperator (|), arithmetische und Vergleichsoperatoren und gebräuchliche Funktionen wie position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() und sum(). Variablen ($x), document(), key() und die Namespace-Achse werden nicht unterstützt.
Warum stimmt mein Ausdruck bei einem Dokument mit Namespace mit nichts überein?
Ein Name-Test ohne Präfix stimmt nur mit Elementen ohne Namespace überein — das ist die gleiche Regel, die echte XPath-Prozessoren befolgen. Binden Sie die Präfix, die Ihr Ausdruck verwendet, an die Namespace-URI des Dokuments unter „Namespace-Bindungen“ (ein Präfix=URI-Paar pro Zeile), oder aktivieren Sie „Namespaces ignorieren“, um nur nach dem lokalen Namen zu suchen.
Was ist der Unterschied zwischen den vier Ergebnistypen?
„Knotenmenge“ listet die übereinstimmenden Knoten selbst auf. „Zeichenkette“, „Zahl“ und „Wahrheitswert“ wandeln stattdessen den gesamten Ausdruck so um, wie die XPath-Funktionen string(), number() und boolean() — nützlich, um einen count()-Ausdruck oder einen Vergleich direkt zu überprüfen, anstatt ihn in ein Prädikat zu verpacken.
Was passiert bei ungültigem XML oder einem ungültigen Ausdruck?
Das Tool meldet, welcher fehlgeschlagen ist und warum — ein nicht geschlossenes Tag oder nicht passendes Element für XML, ein unerwarteter Token oder ungebundenes Namespace-Präfix für den Ausdruck — anstatt ein leeres oder irreführendes Ergebnis zurückzugeben.
Wird mein XML-Dokument irgendwo hochgeladen?
Nein. Analyse und Auswertung laufen vollständig in Ihrem Browser — das Dokument und der Ausdruck verlassen Ihr Gerät niemals.