Ankündigung

Einklappen
Keine Ankündigung bisher.

XML-Baum via DOM in PHP-Array

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML-Baum via DOM in PHP-Array

    Hallo.

    Ich schau mir gerade zum ersten mal die "neuen" XML-Funktionen und brauche eine kleine Einstiegshilfe. Ziel ist es einen XML-Baum in ein Array zu packen.

    XML:
    Code:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <sitemap>
    	<page id="home" title="Startseite" />
    	<page id="about" title="Über uns">
    		<page id="company" title="Firma" />
    		<page id="team" title="Team" />
    	</page>
    	<page id="imprint" title="Impressum" />
    </sitemap>
    Und das gewünschte Array:
    PHP-Code:
    <?php
    $aSitemap 
    = array(

        
    'home' => array(
            
    'title'     => 'Startseite',
            
    'parent_id' => 0
        
    ),

        
    'about' => array(
            
    'title'     => 'Über uns',
            
    'parent_id' => 0
        
    ),
        
        
    'company' => array(
            
    'title'     => 'Firma',
            
    'parent_id' => 'about'
        
    ),
        
        
    'team' => array(
            
    'title'     => 'Team',
            
    'parent_id' => 'about'
        
    ),

        
    'imprint' => array(
            
    'title'     => 'Impressum',
            
    'parent_id' => 0
        
    )
    );
    ?>
    Könnt ihr mir grad mal auf die Sprünge helfen?

    Danke.
    Basti

  • #2
    Wie wärs mit simplexml?
    mod = master of disaster

    Kommentar


    • #3
      Hi.

      Nein, es geht mir um DOM, nicht um das Problem an sich. Und ich hab noch kein Beispiel mit einem rekursiven Auslesen eines Baumes gefunden und dachte, hier könnte mir jemand schnell ein paar Zeilen Code bzw. das richtige Vorgehen aufzeigen, damit ich rein komme.

      Basti

      Kommentar


      • #4
        Wenn Du beim Parsen "dabei sein" willst (genau dieses: Ziel ist es einen XML-Baum in ein Array zu packen), dann ist eigentlich SAX und nicht DOM Deine xml API.

        Dein Einstiegspunkt in die Doku ist also http://de3.php.net/manual/en/ref.xml.php
        Allerdings schon als Hinweis
        http://www.zend.com/php5/articles/ph...p.php#Heading6
        Therefore, if you use xml_parser_create_ns(), you are strongly advised to install libxml2 2.6 or above on your system.

        Kommentar


        • #5
          Hallo.

          Wie bereits geschrieben, gehts mir eben darum, die Arbeit mit DOM kennenzulernen und dafür hat das schwer getaugt. Ich hab es jetzt mit XPath-Queries gelöst und den Baum nicht in ein PHP-Array geschrieben, sondern damit einen neuen XML- bzw. XHTM-Baum aufgebaut.

          Danke
          Basti

          Kommentar


          • #6
            Nachtrag:

            Das ursprüngliche Problem scheint inzwischen der André gelöst zu haben:

            http://www.phpfriend.de/forum/ftopic48919.html

            Basti

            Kommentar

            Lädt...
            X