Leeloo5E: MySQL-Baum nach XML-Baum

Beitrag lesen

Hallo,

nachdem ich es geschafft habe, meine Baumstruktur über Nested Sets erfolgreich in meiner MySQL-DB abzuspeichern und auch abzufragen, zu verändern etc., stehe ich jetzt vor dem Problem diese Nested-Sets-Baumstruktur mit Hilfe von PHP in eine XML-Struktur umzuwandeln. Dazu verwende ich die DOM-Funktionen von PHP anstatt einen simplen String zu nehmen und den immer weiter zu vergrößern.

Ok, meine Nested-Sets-Abfrage gibt mir ein Array aller Einträge schon richtig sortiert aus. Dieses Array enthält auch für jeden Eintrag den Level. Level 1 ist hier das Wurzelelement, welches nicht angezeigt werden soll. Also starten wir bei Level 2:

  
 foreach ($nodes as $key=>$item) {  
   if ($item['level'] == 2) {  
    ...  
   }  
 }  

Level 2 ist dann auch gleich ein Elternelement, so dass das erste Kapitel erstellt werden kann. Am Ende soll das dann so aussehen:

  
 <section>  
  <title>Kapitel 1</title>  
  <para>TEXT</para>  
  <section>  
   <title>Kapitel 1.1.</title>  
   <para>TEXT</para>  
  </section>  
  <section>  
   <title>Kapitel 1.2.</title>  
   <para>TEXT</para>  
   <section>  
    <title>Kapitel 1.2.1.</title>  
    <para>TEXT</para>  
   </section>  
  </section>  
 </section>  
 <section>  
  <title>Kapitel 2</title>  
   ....  
 </section>  

Mein Array mit den Einträgen sind dann so aus:

  
 Array (  
  [0] => Array (  
                 [level] => 1  
                 [name] => Wurzel  
  )  
  [1] => Array (  
                 [level] => 2  
                 [name] => Kapitel 1  
  )  
  [2] => Array (  
                 [level] => 3  
                 [name] => Kapitel 1.1  
  )  
  [3] => Array (  
                 [level] => 3  
                 [name] => Kapitel 1.2  
  )  
  [4] => Array (  
                 [level] => 4  
                 [name] => Kapitel 1.1.1  
  )  
  [5] => Array (  
                 [level] => 2  
                 [name] => Kapitel 2  
  )  
 )  

Dummerweise steht bei mir grad einer aufm Schlauch. D.h. die große Erleuchtung hat noch nicht stattgefunden. Meine bisherigen Überlegungen führten jedenfalls immer in eine Sackgasse bzw. zu einem Punkt an dem es nicht weiter geht - für mich zumindest.

Vielleicht hilft es ja schon, dass ich mir das hier von der Seele schreibe, eine Lösung zu finden. Vielleicht hat aber einer von Euch auch noch einen Tipp für mich. THX.

Gruß,
Leeloo

--
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach." - Edsger W. Dijkstra