PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Werte setzen SimpleXML (https://www.php-resource.de/forum/php-developer-forum/105855-werte-setzen-simplexml.html)

imotou 03-01-2017 15:40

[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


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:09 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG