Sobald das DOM Document-Objekt erzeugt wurde, kann mit diesem Objekt und der Funktion Xpath_new_context() ein Xpath-Kontext erzeugt werden, welcher als Parameter das aktuelle DOM Document-Objekt übernimmt. Dieser Kontext wird zur Auswertung des Xpath-Ausdrucks verwendet und gegebenenfalls auch zum Registrieren von Namespaces verwendet. Da das Beispiel-XML einen Namespace enthält, wird dieser mit der Funktion Xpath_register_ns() registriert. Damit können Xpath-Abfragen erstellt werden, die Präfixe enthalten. Die Funktion Xpath_register_ns() erwartet drei Parameter: den Xpath-Kontext, das Präfix und den Namespace.
Nun kann man Xpath-Abfragen ausführen. Dies geschieht mithilfe der Funktion Xpath_eval(), deren erster Parameter der Xpath-Kontext und der zweite der Xpath-Ausdruck ist. Die Funktion gibt ein Array von DOM Nodes zurück. Im Beispielcode wird dieses Node-Set durchlaufen und eine entsprechende Ausgabe erzeugt.
Im ersten Xpath-Beispiel werden alle x:dog text-Elemente unterhalb der x:row-Knoten ausgelesen, bei denen das Attribut „color“ gleich „yellow“ ist. An dieser Stelle unterscheidet sich der Xpath-Ausdruck in PHP etwas von einem Xpath-Ausdruck in MSXML. Der „/text()“-Teil des Ausdrucks wurde eingefügt, um nur die Textknoten zurückzugeben. Bei MSXML greift man auf die Textknoten über die Eigenschaft „text“ zu. Über die Eigenschaft „content“ des zurückgegebenen Textknotens kann man dessen Inhalt auslesen.
Im zweiten Beispiel werden alle x:dog-Elemente unterhalb der x:row-Knoten ausgelesen. Diesmal wird allerdings die Methode dump_node() auf das DOM Document-Objekt angewandt, um den vollständigen XML-Code des entsprechenden Knotens auszudrucken. Die Methode dump_node() erwartet einen Parameter: den DOM Node, dessen Inhalt man ausgeben möchte.
Im letzten Beispiel werden alle x:cat-Textknoten und alle x:dog-Textknoten ausgelesen, bei denen das „color“-Attribut entweder „white“ oder „grey“ ist. Auch hier werden alle Knoten durchlaufen und der Inhalt jedes Textknotens ausgegeben. Und ganz zum Schluss sollte man das DOM Document-Objekt wieder aus dem Speicher entfernen.
Page: 1 2
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.