XaraX: rukursion, datenstuktur in xml baum wandeln

Beitrag lesen

hallo florian

zur Grundstruktur:

function mach_xml($a)
   {

Definition von benötigkten Variablen

$br="\n";
   $S =' ';

Aufbau des Elements

$element.=$br.'<'.$a['nodeName'];

Aufbau der Attribute

if(isset($a['nodeAttr']))
      {
      foreach($a['nodeAttr'] as $k=>$v)
         {
         $element.=$S.$k.'="'.$v.'"';
         }
      }

Bestimmung des Inhalts

if($a['nodeValues'])
      {

# Bestimmung Welche Art Inhalt vorliegt

if(is_array($a['nodeValues']))
         {

# Aufbau der Kindelemente

foreach($a['nodeValues'] as $v)
            {

# Rekursion auf die Kindelemente

$element.='>'.mach_xml($v);
            $element.='</'.$a['nodeName'].'>'.$br;
            }
         }
      elseif($a['nodeValues'])
         {

# Kindelement ist ein Textnode

$element.='>'.$a['nodeValues'];
         $element.='</'.$a['nodeName'].'>'.$br;
         }
      else
         {

# Element ist leer

$element.=$S.'/>'.$br;
         }
      }
   }

Mit obiger nicht geprüfter Funktion müßte Dein Datenfeld durchlaufen werden können. Allerdings bin ich anders, als Du, davon ausgegangen nodeValues beinhaltet Kindelemente!

nodeValues=children

Der Wert FALSE für nodeValues drückt ein leeres Element aus

Gruß aus Berlin!
eddi