Problem bei der Benutzung simplexml_load_file

Paula

Erfahrenes Mitglied
Servus zusammen,

ich habe folgende XML-Daite:
Code:
<kontakt>
	<item subnav="start">
		<text>start123</text>
	</item>
	<item subnav="insert_db">
		<text>insert_db123</text>
	</item>
	<item subnav="error">
		<text>error123</text>
	</item>
</kontakt>
Nun möchte ich in meinem Skript z.B. auf den Text error123 zugreifen.
Mit der Funktion simplexml_load_file()
kann ich die gesamte XML-Datei in ein Objekt übersetzen. Doch wie kann ich nun nur das item mit dem Attribut error ausgeben?

Auf dieser Seite findet man ein Tutorial für die Benutzung des XPath. Aber dies funktioniert bei mir nur, wenn ich als Attribut eine ID nutze. Ich möchte jedoch einen Text nutzen.

Wie krieg ich das hin?


Gruß
 
Probier mal Folgendes:
PHP:
<?php

	$string = <<<XML
<kontakt>
	<item subnav="start">
		<text>start123</text>
	</item>
	<item subnav="insert_db">
		<text>insert_db123</text>
	</item>
	<item subnav="error">
		<text>error123</text>
	</item>
</kontakt>
XML;

	$xml = simplexml_load_string($string);
	$result = $xml->xpath('/kontakt/item[@subnav="error"]');
	while( list( , $node) = each($result) ) {
		echo $node;
	}

?>
 
Folgende Zeile muss geändert werden:
PHP:
$result = $xml->xpath( "/kontakt/item[@subnav='error']" );
Aber auch so erhalte ich keine Ausgabe, es funktioniert also leider nicht.
 
Zurück