• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

schleife mit SimpleXML()

Status
Für weitere Antworten geschlossen.

abwesend

Neues Mitglied
Hi Ihr,

Vorweg ich bin nicht so der PHP Profi, arbeite gerade am Auslesen einer XML Datei mittels SimpleXML, dass klappt auch ganz gut.
Jetzt volgendes, in der XML Datei gibt es einen Baum <items> in diesem sind unterschiedlich viele (sind mehrer xml dateien die gleich aufgebaut sind) <item> Elemente. die sehen ca. so aus:

Code:
<item durability="66" gem0Id="31863" gem1Id="24055" gem2Id="27809" icon="inv_helmet_01" id="31106" maxDurability="70" permanentenchant="0" randomPropertiesId="0" seed="1811550814" slot="0"/>

Max. können es 20 Einträge sein. Die zuordnun ist mittels des letzten elements slot="0". Sooo, soviel zu den Infos. Das Problem ist das es unterschiedlich viele Elemente sein können (<item> Elemente).
Ausgeben kann ich es schon:

PHP:
for($n=0; $n<=19; $n++){
  $slot[$i] = $xml->characterInfo->characterTab->items->item[$i]['slot'];
  $change[$i] = $xml->characterInfo->characterTab->items->item[$i]['icon'];    
  
  echo "<br> I:$i / $slot[$i]: $item[$i] <br>";
}

Jetzt das Problem das es z.B sein kann, dass slot="4" das erste Element ist. Dann steh bei mir,
I:0 / 4: <irgendwas>

Es sollte aber so sein das wenn $slot[$i] != $i ist das dann zum nächsten gesprungen wird und ein Default Wert gesetzt wird.. Naja, ich bekomm es einfach nicht in eine Funktion oder schleife.. hab es sogar schon rekursiv versucht :(

Kann mir bitte einer einen Tip geben?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben