dedlfix: XML in for-Schleife ausgeben

Beitrag lesen

echo $begrüßung;

Leider habe ich keinen Einfluß auf die Struktur der XML-Datei (kommt vom Fremdsystem).

for ($i = 0; $i < $anzahl; $i++) {

echo "CH$i:";
  echo $xml->Messung->{"Ch$i"};
}


> >   
>   
> Das liefert leider keine Ausgabe. Auch keinen Fehler mit error\_reporting(E\_ALL);  
> Was mache ich falsch?  
  
Vermutlich schreibst du irgendetwas nicht richtig. SimpleXML arbeitet viel mit "Magie" (in Form der [SPL](http://www.php.net/manual/en/book.spl.php) und einigen [PHP5-OOP](http://www.php.net/manual/en/language.oop5.php)-Features). Das sieht nach außen hin wie einfaches PHP aus, ist es aber nicht. Das wird der Grund sein, warum das error\_reporting nicht anschlägt.  
  
~~~php
$x = simplexml_load_string('<root>  
  <Messung>  
    <Ch1>42</Ch1>  
    <Ch2>23</Ch2>  
  </Messung>  
</root>');  
  
$n = 2;  
var_dump($x->Messung->{"CH$n"});  
echo $x->Messung->{"CH$n"};

liefert bei mir

object(SimpleXMLElement)#4 (0) {
}

Die Ausgabe des echo sieht man nicht. Wenn du genau hinsiehst, habe ich hier einen Tippfehler eingebaut. Wenn ich das CH in Ch ändere, bekomme ich die gewünschte Ausgabe.

object(SimpleXMLElement)#4 (1) {
  [0]=>
  string(2) "23"
}
23

echo "$verabschiedung $name";