XML-Werkzeuge

XPath-TesterAbfragen am echten Dokument prüfen

Mit der Schaltfläche oder Ctrl/Cmd+Enter auswerten. Nach Änderungen an Eingaben und Ansicht erneut starten.

XPath-Tester

XML-Eingabe

Ergebnis

XML und Abfragen werden in diesem Browser verarbeitet; das Dokument wird nicht an einen Server gesendet.

ASCII-Präfix verwenden, etwa {"b":"urn:books"}; im Original darf der Präfix anders lauten.

XPath 1.0; manuell mit Ctrl/Cmd+Enter. Skalare JSON-Werte sind Zeichenketten, damit NaN und Infinity erhalten bleiben.

Ergebnis veraltet. Für den Export erneut auswerten.

Ein XPath-Tester hilft, wenn eine Abfrage im Beispiel funktioniert, im echten XML aber nichts findet. Oft unterscheiden sich der Standardnamensraum, eine Attributbedingung oder die Tiefe eines Elements.

Sie können XPath testen, ohne das Dokument vorher zu formatieren. XPath-Ausdrücke laufen auf dem unveränderten Text; XML und seine Namensräume bleiben damit eine nachvollziehbare Grundlage für den Vergleich.

Warum dieser XPath-Tester?

Treffer als Knoten und Werte vergleichen

Der XPath-Tester zeigt dieselben Titel als XML-Fragmente, Textwerte oder absolute Pfade. So wird sichtbar, ob Sie ein Element ausgewählt haben oder nur seinen Text benötigen.

Zwei ausgewählte Titelzweige eines XML-Baums werden als zwei Ergebnisse ausgegeben.

Namensräume über ihre URI zuordnen

Binden Sie b an urn:books und verwenden Sie //b:book. Der Präfix im Dokument darf anders heißen. Gleichnamige Elemente mit einer anderen URI bleiben getrennt.

Gleichnamige Knoten in zwei Namensräumen; nur die zugeordnete Gruppe ist ausgewählt.

Drei Details für verlässliche Abfragen

01

Dem Standardnamensraum einen Alias geben

Bei xmlns="urn:books" tragen Sie {"b":"urn:books"} ein und suchen mit //b:book. //book trifft nur Elemente ohne Namensraum.

02

Textansicht und text() unterscheiden

Die Textansicht liefert den vollständigen XPath-Zeichenkettenwert jedes Treffers einschließlich Nachfahren. //title/text() wählt dagegen direkte Textknoten aus; bei gemischtem Inhalt kann das Ergebnis abweichen.

03

Vor dem Export erneut auswerten

Änderungen an XML, Ausdruck, Zuordnung oder Ansicht sperren den Export sofort. Nach erfolgreicher Auswertung zeigt die Vorschau jeweils 50 weitere Treffer. Kopie und Download enthalten alle erfolgreichen Ergebnisse.

Auswählen, auslesen, zurückverfolgen

Vier Ergebnistypen

Neben Knotenmengen sind string(//title), count(//book) und boolean(//missing) möglich. JSON enthält den Typ; Werte werden als Zeichenketten gespeichert, damit NaN und Infinity nicht unbemerkt zu null werden.

Attribute und Bedingungen

//book[@id="b1"] filtert Elemente, //@id liest Attribute und //book[price>15]/title prüft einen Zahlenvergleich. Kein Treffer ist ein gültiges Ergebnis mit count 0 und einem leeren values-Array.

Prüfbare absolute Pfade

Positionen unterscheiden gleichnamige Geschwister. Bei Namensräumen verwenden die Pfade local-name() und namespace-uri(), unabhängig von Ihrer Präfixzuordnung. Eine spätere Änderung der Dokumentstruktur kann Positionen verschieben.

Versionen und Grenzen

Nur XPath 1.0
Der XPath-Tester nutzt die Browser-Engine. XPath 2.0/3.1, matches(), ends-with(), Variablen und XQuery gehören nicht zum Funktionsumfang. Ergebnisse der namespace::-Achse sind zwischen Browsern nicht garantiert.
Striktes XML ohne Reparatur
Erlaubt ist wohlgeformtes XML 1.0. DTDs und externe Entitäten werden abgewiesen; eine Kodierungsdeklaration muss UTF-8 angeben. HTML wird nicht repariert, und relevante Leerzeichen werden nicht entfernt. Benachbarter Text und CDATA werden für das XPath-Datenmodell zusammengeführt. Serialisierte Knoten können CDATA-Markierungen durch maskierten Text ersetzen; der Zeicheninhalt bleibt erhalten.
Explizite Präfixe
Das JSON-Objekt ordnet ASCII-Präfixe nicht leeren URIs zu. Leere Präfixe und xmlns sind ungültig; xml ist seiner Standard-URI vorbehalten. Nicht-ASCII-Präfixe im Original lassen sich über einen ASCII-Alias derselben URI abfragen.
Begrenzte synchrone Auswertung
Grenzen: 100.000 Eingabezeichen, 2.000 XML-Knoten einschließlich Attributen und Text, Tiefe 100, 2.000 Ausdruckszeichen, 1.000 Treffer und 2.000.000 Ausgabezeichen. Überschreitungen verwerfen das gesamte Ergebnis. Die synchrone API hat kein hartes Zeitlimit; komplexe Abfragen können den Tab kurz anhalten.
Eingabe und Wiederherstellung
Verfügbar ist eingefügter Text, kein URL-Import, Datei-Upload, gespeichertes Teilen oder Schema-Test. Leeren und Beispiel zeigen eine Vorschau. Anwenden ersetzt XML und Optionen; Rückgängig stellt einmal Eingaben, Einstellungen und Ergebnis gemeinsam wieder her.

Fragen zum XPath-Tester

Werden XPath 2.0 oder 3.0 unterstützt?

Nein. Die tatsächliche Engine ist XPath 1.0 im Browser. Funktionen wie matches() benötigen eine andere Engine. Ein abgewiesener Ausdruck bedeutet nicht automatisch, dass das XML falsch ist.

Wie wähle ich Elemente nach einem Attribut aus?

//book[@id="b1"] wählt ein Element über sein Attribut aus. //book/@id liefert den Attributwert. Groß- und Kleinschreibung zählt; Attribute ohne Präfix erben keinen Standardnamensraum.

Was unterscheidet / von // in XPath?

/ führt zum direkten nächsten Schritt. // sucht Nachfahren ab dieser Stelle: /library/book beginnt an der Wurzel, //book findet auch tiefer verschachtelte Elemente.

Kann XPath Text, Zahlen oder boolesche Werte zurückgeben?

Ja: string(//title), count(//book) und boolean(//book). Der Export speichert Typ und Zeichenkettenwert. false, eine leere Zeichenkette und NaN sind erfolgreiche Ergebnisse.

Warum liefert ein Dokument mit Namensraum keine Treffer?

Der Standardnamensraum gilt für unpräfigierte XML-Elemente, aber nicht für unpräfigierte Namen in XPath 1.0. Binden Sie einen Alias an die URI und verwenden Sie ihn im Ausdruck.

Etwas unklar?

Die nächste Abfrage prüfen

Der XPath-Tester macht Typ und Namensraumzuordnung sichtbar. Bewahren Sie eine erfolgreiche Abfrage zusammen mit dem XML-Beispiel auf, um spätere Abweichungen reproduzieren zu können.