christina: SimpleXML den Wert eines Elementes auslesen

hi zusammen,

mein Problem ist wahrscheinlich ganz einfach, aber ich schnall es einfach nicht...

ich habe nen xml-String:

<level1>  
<level11>  
<level111 Name="name1" Price="5" Id="0"/>  
</level11>  
</level1>

dieser Code ist ein String. Nun möchte ich mit auf die Attribute zugreifen, Ergebnis sollte sein:

$DataArray['name'] = "name1";  
$DataArray['price'] = "5";  
$DataArray['id'] = "0";  

Auslesen tu ich die Attribute so:

$XMLObject = new SimpleXMLElement($XMLString);

1.Versuch:

foreach($XMLObject->tariffs[0]->tariff as $Attribute)  
{  
   $DataArray['id'] = $Attribute['id'];  
   $DataArray['name'] = $Attribute['Name'];  
   $DataArray['price'] = $Attribute['Price'];  
};  

2.Versuch:

  
   $DataArray['id'] = $XMLObject->level1[0]->level11[0]->level111['id'];  
   $DataArray['name'] = $XMLObject->level1[0]->level11[0]->level111['Name'];  
   $DataArray['price'] = $XMLObject->level1[0]->level11[0]->level111['Price'];  

3.Versuch:

  
   $DataArray['id'] = $XMLObject->level1[0]->level11[0]->level111->id;  
   $DataArray['name'] = $XMLObject->level1[0]->level11[0]->level111->Name;  
   $DataArray['price'] = $XMLObject->level1[0]->level11[0]->level111->Price;  

Aber irgend wie sieht mein Array immer so aus:

$DataArray['name']
     0 = "name1"
$DataArray['price']
     0 = "5"
$DataArray['id']
     0 = "0"

Hat irgendwer noch ne Idee???

Bastle schon seit ner knappen Stunde rum und alle gängigen Lösungen im Netz hab ich soweit gefunden auch probiert.... :o(

lg, christina

  1. echo $begrüßung;

    mein Problem ist wahrscheinlich ganz einfach, aber ich schnall es einfach nicht...

    Kontrollausgaben können helfen.

    Auslesen tu ich die Attribute so:

    $XMLObject = new SimpleXMLElement($XMLString);

    foreach($XMLObject->tariffs[0]->tariff as $Attribute)

    {
       $DataArray['id'] = $Attribute['id'];
       $DataArray['name'] = $Attribute['Name'];
       $DataArray['price'] = $Attribute['Price'];
    };

    
    > Aber irgend wie sieht mein Array immer so aus:  
    >   
    > $DataArray['name']  
    >      0 = "name1"  
    > $DataArray['price']  
    >      0 = "5"  
    > $DataArray['id']  
    >      0 = "0"  
    >   
    > Hat irgendwer noch ne Idee???  
      
    Schau nach, was du wirklich bekommst, wenn du auf eines dieser Attribute zugreifst, dann wirst du vielleicht auch erkennen, was noch erforderlich ist, um auf den eigentlichen Wert zuzugreifen. Verwende var\_dump() (oder print\_r()) für die Kontrollausgabe. Ein <pre> davor kann die Übersichtlichkeit der Ausgabe erhöhen.  
      
      
    echo "$verabschiedung $name";
    
    1. Hi,

      ich glaube, bei SimpleXML musst du die Werte mit (string) umwandeln...

      mfg, Flo