Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 03-01-2017, 15:40
imotou
 Registrierter Benutzer
Links : Onlinestatus : imotou ist offline
Registriert seit: Jan 2017
Beiträge: 3
imotou befindet sich auf einem aufstrebenden Ast
Standard [Gelöst] Werte setzen SimpleXML

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:
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();     
    } 
Fehlermeldungen bzw. Warnungen:
Notice: Indirect modification of overloaded element of SimpleXMLElement has no effect
Warning: Creating default object from empty value

Geändert von imotou (04-01-2017 um 01:12 Uhr) Grund: Lösung
Mit Zitat antworten