XML/Object-Problem

King Euro

Erfahrenes Mitglied
Dies ist mein Quelltext:
PHP:
$xml = simplexml_load_file($file);
$tmp = $xml->Terminal->Plan->attributes();

$attributes = array();

foreach($tmp as $name => $value){
  $attributes[$name] = $value;
}

Nun ist es allerdings so, dass es "Plan" mal in der XML geben kann und mal nicht. Der Apache gibt, wenn es diese Stelle nicht gibt, immer diesen Fehler aus:

Warning: main() [function.main]: Node no longer exists in xml.php on line 81

Wenn es Plan gibt wird alles korrekt verarbeitet.
Nun ist die Frage wie ich testen kann ob Plan nun vorhanden ist oder nicht. :confused:
 
Hi.
Versuchs doch mal mit dieser Abfrage:

PHP:
$plan_exists = false;
foreach ($xml->Terminal AS $element){
if($element == "Plan") $plan_exists = true;

}

if($plan_exists == true){
# Anweisungen für diesen Fall...
}

Ich habe es nicht ausprobiert.
Sollte aber funktionieren. Zumindest der Ansatz...
 
Zuletzt bearbeitet:
Hm, ging so leider nicht.

Habe es nun einfach so gemacht, dass ich die Fehlermeldung unterdrücke.
Nicht schön, aber geht immerhin.

PHP:
$tmp = $xml->Terminal->Plan->attributes();
$attributes = array();
if(@$tmp[0] > 0){
...
 
Zurück