Xpath-Abfragen mit PHP

Xpath ist eine Sprache, mit der auf einzelne Teile eines XML-Dokuments zugegriffen werden kann, wodurch XSLT-Transformationen praktisch überflüssig werden. Damit ist es auch ein unschätzbares Tool zur Verwaltung von XML-Daten in Webanwendungen.

Microsoft stellt die Xpath-Funktionalität über die Methoden selectSingleNode() und selectNodes() für DOM-Knoten und -Dokumente bereit. PHP hingegen verwendet Funktionen, welche die Xpath-Funktionalität über Kontexte bereitstellen. Das folgende Beispiel zeigt XML-Daten und PHP-Code, um auf unterschiedliche Teile des XML-Dokuments zuzugreifen. Auch wird erklärt, wie der PHP-Code funktioniert.

Der Beispielcode verwendet die folgenden XML-Daten zur Bereitstellung der Funktionalität. (Anmerkung: Dieser Code wurde unter PHP 4.3.4, Windows XP und IIS 5.1 entwickelt und erfolgreich getestet.)

Diese XML-Daten enthalten einige Elemente und ein paar Attribute, inklusive einer Namespace-Deklaration – also etwas schlichtes XML. Damit lassen sich unterschiedliche Abfragen ausprobieren.

Zuerst wird eine lokale Variable erstellt, welche den XML-String aufnimmt. Diese Information könnte zum Beispiel als Teil eines POST HTTP-Request übergeben worden sein. Für dieses Beispiel sind die Daten einfach im Code enthalten. Der nächste Schritt besteht darin, ein DOM-Dokument mithilfe der Funktion domxml_open_mem() zu erstellen. Diese Funktion erstellt aus einem gültigen XML-String ein DOM Document-Objekt im Speicher. Es erwartet einen Parameter: den XML-String. Eine andere Möglichkeit besteht darin, den XML-Code in einer separaten Datei zu speichern und mit der Funktion domxml_open_file() aus der Datei zu laden. Diese Funktion erwartet als Parameter den Namen der XML-Datei.

Fanden Sie diesen Artikel nützlich?
Noch keine Bewertung vorhanden.

Aktuelle Job-Angebote

ZDNet.de Live

Nvidi ...

Nvidia und Rambus einigen sich in Patentstreit t.co/...

9.02.12, 11:20 von zdnet_de
Users ...

Users want more control in iPhone 5. t.co/...

9.02.12, 11:04 von zdnetasia
Micro ...

Microsoft stellt Windows 8 Consumer Preview auf dem MWC vor t.co/...

9.02.12, 10:40 von zdnet_de
Green ...

Greenpeace: Google Top - Facebook Flop t.co/...

9.02.12, 10:20 von silicon_de
Chrom ...

Chrome 17 verkürzt Ladezeiten und verbessert Sicherheit t.co/...

9.02.12, 09:50 von zdnet_de
Green ...

Greenpeace lobt Google für Einsatz erneuerbarer Energien t.co/...

9.02.12, 09:20 von zdnet_de
Apple ...

Apple fordert Leitlinien für Mobilfunkpatente t.co/...

9.02.12, 09:10 von zdnet_de
Judge ...

Judge: Chinese engineer didn't spy on US. t.co/...

9.02.12, 08:55 von zdnetasia
Consu ...

Consumerization a double-edged sword for SMBs. t.co/...

9.02.12, 08:54 von zdnetasia
Aliba ...

Alibaba raising $3B to buy back Yahoo stake. t.co/...

9.02.12, 08:53 von zdnetasia
Analy ...

Analyst: Low-cost markets to springboard Cisco's growth. t.co/...

9.02.12, 08:53 von zdnetasia
Caffe ...

Caffeine fix? Now you can literally inhale it. t.co/...

9.02.12, 08:40 von ZDNet
Wolfr ...

WolframAlpha Pro angekündigt (5 Dollar/Monat): t.co/...

9.02.12, 08:29 von coke4all
Faceb ...

Facebook highest valuation yet: $102.3 billion t.co/...

9.02.12, 08:10 von ZDNet
Defen ...

Defence IT blamed in vetting fiasco: t.co/...

9.02.12, 07:59 von zdnetaustralia
Hack ...

Hack exposes Google Wallet PIN: t.co/...

9.02.12, 07:54 von zdnetaustralia
Art ...

Art installation blurs boundary between physical and digital (video) t.co/...

9.02.12, 07:25 von ZDNet
First ...

First 'biological computer' created, can read DNA. t.co/...

9.02.12, 07:14 von zdnetasia
Conro ...

Conroy caps 'waterfront' spectrum buys: t.co/...

9.02.12, 07:06 von zdnetaustralia
APAC ...

APAC IT services growth hits 'speed bump'. t.co/...

9.02.12, 07:03 von zdnetasia