Christian Seiler: SimpleXML: einzelner Kindknoten vs. Array von Kindknoten

Beitrag lesen

hi wahsaga,

Du denkst viel zu kompliziert. SimpleXML arbeitet nicht mit richtigen Arrays, sondern mit Pseudo-Arrays. Betrachte folgenden Beispielcode:

<?php  
  
$xml = '<test><foo>bla</foo></test>';  
  
$sxml = simplexml_load_string ($xml);  
  
foreach ($sxml->foo as $foo) {  
  var_dump ((string)$foo);  
}  
  
$xml = '<test><foo>gugug</foo><foo>blub</foo></test>';  
  
$sxml = simplexml_load_string ($xml);  
  
foreach ($sxml->foo as $foo) {  
  var_dump ((string)$foo);  
}  
  
?>

Der liefert folgende Ausgabe:

christian@cobalt ~/tmp $ php simplexml-test.php
string(3) "bla"
string(5) "gugug"
string(4) "blub"

Du kannst $sxml->knoten_name also immer mit foreach durchlaufen, egal, ob nur ein Knoten existiert, oder mehrere.

Viele Grüße,
Christian

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup