Einleitung:
Ich möchte eine Schleife durch XML-Dateien mit flexibler Kategoriestruktur erstellen.
Problem:
Ich weiß nicht, wie ich eine Schleife durch eine theoretisch unendliche Anzahl von Unterkategorien durchlaufen kann, ohne x-mal "for each"-Anweisungen machen zu müssen (siehe Codierungsbeispiel unten). Wie kann ich die Struktur der Kategorien dynamisch durchlaufen?
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<category name="Category - level 1">
<category name="Category - level 2" />
<category name="Category - level 2">
<category name="Category - level 3" />
</category>
<category name="Category - level 2">
<category name="Category - level 3">
<category name="Category - level 4" />
</category>
</category>
</category>
</catalog>
Was ich jetzt habe:
Ich habe kein Problem damit, XML-Dateien mit einer bestimmten Struktur in einer Schleife zu durchlaufen:
<catalog>
<category name="Category - level 1">
<category name="Category - level 2">
<category name="Category - level 3" />
</category>
<category name="Category - level 2">
<category name="Category - level 3" />
</category>
</category>
</catalog>
Beispiel für die Codierung:
//$xml holds the XML file
foreach ( $xml AS $category_level1 )
{
echo $category_level1['name'];
foreach ( $category_level1->category AS $category_level2 )
{
echo $category_level2['name'];
foreach ( $category_level2->category AS $category_level3 )
{
echo $category_level3['name'];
}
}
}