XML - Datei komplettbdynamisch auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML - Datei komplettbdynamisch auslesen

    Hallo,

    ich habe ein Problem, dasss ich schon seit Tagen nicht lösen kann. Und zwar möchte ich eine XML-Datei, die immer unterschiedlich aussehen kann dynamisch auslesen. Da hab ich in der PHP Dokumentation ein Beispiel gefunden, dass eigentlich sehr hilfreich ist.

    Code:
    <cats>
      <cat>
          <name>Jack</name>
          <age>2</age>
          <color>grey</color>
          <color>white</color>
      </cat>
      <cat>
          <name>Maxwell</name>
          <age>12</age>
          <color>orange</color>
          <color>black</color>
      </cat>
    </cats>
    PHP-Code:
    <?php 

    function xmlToArray($fName){ 
        
    $sxi = new SimpleXMLIterator($fName,null,true); 
        return 
    sxiToArray($sxi); 


    function 
    sxiToArray($sxi){ 
        
    $a = array(); 

        for (
    $sxi->rewind(); $sxi->valid(); $sxi->next()){ 
            if (!
    array_key_exists($sxi->key(), $a)){ 
                
    $a[$sxi->key()] = array(); 
            } 

            if(
    $sxi->hasChildren()){           
                
    $a[$sxi->key()][] = sxiToArray($sxi->current()); 
            }else{ 
                
    $a[$sxi->key()][] = strval($sxi->current()); 
            } 
        } 
        return 
    $a


    $test xmlToArray("cats.xml");
    Aber meine XML-Datei is so aufgebaut, dass die Werte der Unterelemente als Attribute in meinem Tag stehen. Und da komm ich einfach nicht weiter. Ich hab schon vieles ausprobiert, aber ich scheiter immer wieder.

    (so ungefähr könnte die XML-Datei aussehen):
    Code:
    <cats>
      <cat name="Jack" age="2" color="grey" color="white"/>
      <cat name="Maxwell" age="12" color="orange" color="black"/>
    </cats>
    Ich hoffe ihr könnt mir helfen.

  • #2
    Mehrfachposts sind hochgradigst unhöflich.

    XML - Datei komplett dynamisch auslesen - PHP Forum

    Kommentar

    Lädt...
    X