Skip to main content
CheckTown
Dev-Tools

XPath-Tester: XML-Dokumente mit XPath abfragen

Veröffentlicht 6 Min. Lesezeit
In diesem Artikel

Was ist XPath?

XPath (XML Path Language) ist eine W3C-Standardabfragesprache zum Auswählen von Knoten aus XML-Dokumenten. Sie verwendet eine pfadähnliche Syntax, um durch die hierarchische Struktur eines XML-Baums zu navigieren und Elemente, Attribute und Textknoten anhand ihrer Position, ihres Namens oder ihres Werts auszuwählen.

XPath ist keine eigenständige Technologie – sie ist in andere Standards wie XSLT, XQuery und DOM-APIs eingebettet. Jeder moderne Browser unterstützt XPath zum Abfragen von HTML-Dokumenten, und Werkzeuge wie Selenium, Scrapy und lxml nutzen XPath-Ausdrücke intensiv für Web-Scraping und automatisiertes Testen.

So funktionieren XPath-Abfragen

Ein XPath-Ausdruck navigiert durch den Dokumentbaum mithilfe von Achsen (Richtungen), Knotentests (Filtern) und Prädikaten (Bedingungen). Wer diese drei Konzepte versteht, kann jede beliebige Abfrage konstruieren.

  • Achsen und Pfade – / wählt ab der Wurzel aus, // wählt Nachfahren an beliebiger Stelle, .. wechselt zum Elternknoten, und benannte Achsen wie following-sibling:: navigieren relativ zum aktuellen Knoten
  • Prädikate und Filter – eckige Klammern [] fügen Bedingungen hinzu: //book[price>30] wählt Bücher mit einem Preis über 30, während //div[@class='main'] divs mit einem bestimmten class-Attribut auswählt
  • Funktionen und Operatoren – XPath bietet integrierte Funktionen wie contains(), starts-with(), normalize-space() und count() zur Zeichenkettenmanipulation, zum Vergleichen und zum Zählen von Knoten

Kostenlos testen – keine Registrierung erforderlich

Eine XPath-Abfrage testen →

Wann Sie XPath verwenden sollten

XPath ist unverzichtbar, wann immer Sie programmatisch bestimmte Daten aus XML- oder HTML-Dokumenten extrahieren müssen.

  • Web-Scraping – extrahieren Sie Produktpreise, Artikeltitel oder Links aus Webseiten mithilfe von XPath-Ausdrücken in Werkzeugen wie Scrapy, Puppeteer oder Browser-Entwicklerkonsolen
  • XML-Konfiguration – fragen und validieren Sie komplexe Konfigurationsdateien wie Maven pom.xml, Android-Manifeste oder Spring-XML-Kontexte, um bestimmte Einstellungen oder Abhängigkeiten zu finden
  • XSLT-Transformationen – wählen Sie Knoten für die Transformation in XSLT-Stylesheets aus, die vollständig auf XPath-Ausdrücke angewiesen sind, um XML-Elemente in andere Ausgabeformate abzugleichen und zu verarbeiten

Häufig gestellte Fragen

Wann sollte ich XPath statt CSS-Selektoren verwenden?

CSS-Selektoren sind einfacher und schneller für die grundlegende Elementauswahl nach Tag, Klasse oder ID. Wählen Sie XPath, wenn Sie nach Textinhalt auswählen (//a[contains(text(),'Login')]), zu Elternknoten nach oben navigieren, komplexe Prädikate nutzen oder mit XML-Dokumenten (nicht HTML) arbeiten müssen. In XSLT- und XQuery-Kontexten ist XPath ohnehin erforderlich.

Was hat sich zwischen XPath 1.0 und 2.0 geändert?

XPath 2.0 hat ein reichhaltigeres Typsystem (Datumsangaben, Sequenzen, reguläre Ausdrücke), bedingte Ausdrücke (if/then/else), quantifizierte Ausdrücke (some/every) und Bereichsausdrücke hinzugefügt. Die meisten Browser und Scraping-Werkzeuge unterstützen jedoch nur XPath 1.0. Nutzen Sie XPath-2.0-Funktionen in serverseitigen Werkzeugen wie Saxon oder beim Arbeiten mit XSLT 2.0.

Wie gehe ich in XPath mit XML-Namespaces um?

Elemente mit Namespace erfordern eine Präfixzuordnung. In den meisten APIs registrieren Sie ein Namespace-Präfix (z. B. ns='http://example.com') und fragen dann mit diesem Präfix ab: //ns:book/ns:title. Ohne registrierten Namespace passt //book nicht auf Elemente in einem Namespace, selbst wenn der lokale Name 'book' lautet. Manche Werkzeuge unterstützen local-name() als Ausweichlösung: //*[local-name()='book'].

Verwandte Tools