XML // PHP Schleife

goto;

Erfahrenes Mitglied
Hallo liebe Community,
stehe jetzt schon ein paar stunden vor einem Problem.

Zuerst Parse ich eine XML-Datei, soweit sogut.
Danach gehe ich in einen foreach über, um alle Daten die ich brauche zu bekommen.

Bis hierher alles Ok.

Nun benötige ich aus der XML Datei folgendes.
PHP:
$load->itemInfo->item->attributes()->name;
Dieses ist der Name einen Gegenstandes.

PHP:
$item->attributes()->slot;
Und dieses ist der Slot in den dieser gehört (0-18)

Wenn ich dieses nun Parse bekomme ich folgendes Ergebniss.
Slot // Name
0 = text1
1 = text2
2 = text3
4 = text5

Wie Ihr merkt wurde die 3 übersprungen, weil in diesem Slot kein Item sitzt.

Problem ist nun. Das diese Texte in einen bestimmten <div> Container sollen. Die dann eine id bekommen bsp. <div id="1"> <--- das ist dann der container für slot 1.

0,1,2 werden nun Korrekt einsortiert. Jedoch wird dann 3 drei ausgelassen weil diese nicht vorhanden ist und 4 wird dann in <div id="3"> geschrieben.

Klingt alles sehr kompliziert.
Ich habe es schon mit verschiedenen schleifen versucht. Jedoch war alles ohne erfolg.

Habe mir gedacht das man dieses so realisieren könnte
PHP:
$variable[ /*$item->attributes()->slot;*/ ] = $load->itemInfo->item->attributes()->name;

Jedoch, bekomme ich da Probleme.
Kann mir jemand einen Tipp geben wie ich dieses Sinnvoll realisieren kann?
Hier noch der eigentliche Script:
PHP:
<?php

ini_set("user_agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9) Gecko/2008052906 Firefox/3.0"); 
$xml = simplexml_load_file("http://eu.wowarmory.com/character-sheet.xml?r=taerar&n=splater");
echo '<div>'.$xml->characterInfo->character->attributes()->name.'</div>';

foreach($xml->characterInfo->characterTab->items->item as $item) { 
$load = simplexml_load_file("http://eu.wowarmory.com/item-info.xml?i=".$item->attributes()->id);

  

	echo $load->itemInfo->item->attributes()->name;
	echo $item->attributes()->slot;	
	echo '<img src="http://eu.wowarmory.com/wow-icons/_images/51x51/'.$load->itemInfo->item->attributes()->icon.'.jpg" border="0"><br>';
	
}
include ('xxx.tpl.php');

?>

Danke im vorraus.
 
Hi,

wen ich das richtig verstanden habe willst du die div container sequenziell numerieren.
dann kannst du doch einfach in der schleife einen zähler mitlaufen lassen

PHP:
$i = 0
foreach ......{


$i++;
}

und das $i für die Container verwenden
 
Zurück