Hallo,
Vielleicht könnt Ihr mir ja helfen.
Folgendes Problem. Ich versuche auf ein Child zuzugreifen, dessen Name nicht bekannt ist und in Form einer Variablen übergeben werden soll.
Hier ein Auszug aus der XML-Datei:
Fehlermeldungen bzw. Warnungen:
Notice: Indirect modification of overloaded element of SimpleXMLElement has no effect
Warning: Creating default object from empty value
Vielleicht könnt Ihr mir ja helfen.
Folgendes Problem. Ich versuche auf ein Child zuzugreifen, dessen Name nicht bekannt ist und in Form einer Variablen übergeben werden soll.
Hier ein Auszug aus der XML-Datei:
Code:
<?xml version='1.0' standalone='yes'?> <sliders> <slider> <dateiname>ausstellung.html</dateiname> <name>Galerie Bilder</name> <aktualisiert>18.11.2016</aktualisiert> <original-images-path>/img</original-images-path> <original-images-target>_blank</original-images-target> <images-path>/data1/images</images-path> <image-string>image</image-string> <image-nnr>777</image-nnr> <x>640</x> <y>358</y> <tooltips>true</tooltips> <tooltips-path>/data1/tooltips</tooltips-path> <tooltips-x>85</tooltips-x> <tooltips-y>48</tooltips-y> </slider> <slider> ... ... </slider> </sliders>
PHP-Code:
public function set_InfoBynode($node, $name, $info){
//{'image-nnr'} ist ein möglicher Name
//$this->sliderconf->slider[0]->{'image-nnr'}= $info;// funktioniert
// Problem ist die Variablenübergabe bei $name, da die Namen ja Bindestriche enthalten können
//$this->sliderconf->slider[$node]->{$name}=$info; //? Ansätze wie $name="'".$name."'"; funktionieren nicht
//Lösung:
$this->sliderconf->slider[$node]->{(string)$name}=$info; //funktioniert
//Nur zur Kontrolle
echo $this->sliderconf->asXML();
}
Notice: Indirect modification of overloaded element of SimpleXMLElement has no effect
Warning: Creating default object from empty value