• MTB-News User Awards 2026: Jetzt abstimmen und Raaw Madonna V3 Komplettbike im Wert von 9.000 € gewinnen!
    Stimme in einer kurzen Umfrage über deine Produkte des Jahres 2026 ab und gewinne dabei Bike im Wert von 9.000 €!
    Jetzt abstimmen!

XPath-Abfrage mit Namespace in php5

crumble

Mitglied und 2 Nüssen
Registriert
8. Januar 2003
Reaktionspunkte
6
Ort
Dresden
hallo,
ich bin neu in xpath und natürlich gleich auf das erste große problem gestoßen :)

man betrachte die folgende xml-datei:
Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<a>
  <b attr1="2">
    <c></c>
  </b>
</a>

Das folgende php(5)-script:
Code:
<?php
$dom = new DOMDocument();
$dom->load("test.xml");
$xpath = new DOMXPath($dom);

$nodes = $xpath->query("/a/b/@attr1");
foreach ($nodes as $node) {
$out .= "NodeValue: {$node->nodeValue}";
}
print $out;
?>
erzeugt wie gewünscht die Ausgabe:
Code:
NodeValue: 2

ABER.
Wenn ich nun die xml-datei (nicht das script!) erweitere und statt der Zeile:
Code:
<b attr1="2">
die Zeile mit einem Namespace erweitere
Code:
<b attr1="2" xmlns="http://blubb">
, gibt das script nichts mehr aus, also nicht mal den wert 2.
Meine Fragen sind nun:
1) warum wird nichts ausgegeben? und
2) was muss man im script ändern, damit der wert wieder dargestellt wird?

Vielsten Dank schonmal
crumble
 
Zurück