php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2010, 14:44  
Benutzer
 
Registriert seit: 18.02.2009
Beiträge: 38
floripipo ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] XML Hierarchie (Baumstruktur) in PHP wiedergeben

Hallöle zusammen

Ich habe eine Funktion, die mir ein valides XML einliest und dann in einem Array speichert. Nun die Frage:

Wie kann ich realisieren, dass die originale Baumstruktur des XMLs grafisch wieder dargestellt wird?

Die Funktion sieht bisher folgendermassen aus:

PHP-Code:
function readAll ($nextarray) {
    
//Fetching first col in Row....
    
if (is_array($nextarray)) {
        
$dictkey key($nextarray);
        if (
$dictkey == "&dict") {
            
//It's a hash table...
            
foreach($nextarray as $key => $value) {
                if (
is_array($value)) {
                    
readAll($value);
                }
                else{
                    if (
$key != "&dict") {
                        echo 
"<tr><td>$key</td><td>$value</td></tr>";
                    }
                }
            }
        }
        else {
            
//It's a normal Array...
            
foreach($nextarray as $nextarray2) {
                if (
is_array($nextarray2)) {
                    
readAll($nextarray2);
                }
                else {
                    if (
$nextarray != "&dict") {
                        echo 
"<tr><td>Eintrag</td><td>$nextarray2</td></tr>";
                    }
                }
                
            }
        }   
    }
    if (
is_string($nextarray)) {
        if (
$nextarray == "&dict") {
            
//Es handelt sich um ein &dict, daher muss nichts ausgegeben werden.
        
}
        else {
            echo 
"<tr><td>Eintrag</td><td>$nextarray</td></tr>";
        }
    }
    if (
is_numeric($nextarray)) {
           echo 
"<tr><td>Eintrag</td><td>$nextarray</td></tr>";
    }
    return 
$nextarray;
}


$result readAll($config); 
floripipo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.08.2010, 14:45  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was bedeutet bei dir "grafische Darstellung"?
Flor1an ist offline  
Alt 31.08.2010, 14:54  
Benutzer
 
Registriert seit: 18.02.2009
Beiträge: 38
floripipo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Was bedeutet bei dir "grafische Darstellung"?
Im Sinne, dass es nachher (mit dem Typ aus dem XML, zB. <string>) wie eine Ordnerstruktur dargestellt wird, so zB.

Oberarray
...Unterarray
......String: test
......Integer: 23
...Nächstes Unterarray
......String: hallo

So in der art.
floripipo ist offline  
Alt 31.08.2010, 15:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 31.08.2010, 15:14  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 391
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kennst du print_r? Sieht für mich so aus als würdest du nach so etwas suchen.
Alternativ: var_dump

Ansonsten mit Rekursiven Funktionen...
Andreas ist offline  
Alt 31.08.2010, 15:15  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Wo genau liegt denn das Problem? Funktioniert die Funktion nicht? Fehlermeldungen? Läuft das nicht so wie du willst? Debuggen?

Google: PHP XML rekursiv
chorn ist offline  
Alt 31.08.2010, 15:31  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Ich frage mich gerade, wo in diesem Thread überhaupt XML auftaucht. Ich habe das Gefühl, in deiner Beschreibung fehlt die Hälfte, floripipo. Etwa ein Beispiel für Eingabedaten.

Edit: Wobei, die Eingabedaten sind eigentlich egal, wenn es nur darum geht, ein XML-Dokument rekursiv auszugeben. Das hätte dann allerdings nichts mit dem Array-Gedöns hier im Thread zu tun. Irgendwas passt da nicht.

Und ich werfe mal DOMDocument in den Raum, wenn es um XML geht.

- http://php.net/manual/en/class.domdocument.php
__________________
Blog | Buch | Kaloa

Geändert von mermshaus (31.08.2010 um 15:44 Uhr).
mermshaus ist offline  
Alt 31.08.2010, 15:47  
Benutzer
 
Registriert seit: 18.02.2009
Beiträge: 38
floripipo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okok, ich poste hier mal noch was. Einen Teil des XMLs zum Beispiel:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "[pfad]/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Searcher</key>
        <dict>
            <key>Server</key>
            <dict>
                <key>ListenPort</key>
                <integer>1234</integer>
        		<key>SoapNS</key>
        		<string>urn:xxxxxxxxxx</string>
            </dict>
            <key>Lucene</key>
            <dict>
        		<key>IndexDirs</key>
        		<dict>
        		    <key>cvs</key>
        		    <string>index/cvs/</string>
        		    <key>dokuwiki</key>
        		    <string>index/dokuwiki/</string>
       		    </dict>
            </dict>
        </dict>

        <key>Indexer</key>
        <dict>
            <key>Backend</key>
            <dict>
        		<key>Workflows</key>
        		<dict>
                           <key>dokuwiki</key>
So, das wird per Funktion ausgelesen, welche als rückgabewert ein verschachteltes Array hat, sodass zB. der Wert aus ListenPort so abgefragt werden kann:

$array["Searcher"]["Server"]["ListenPort" ]

Nun gebe ich all das per obiger Funktion aus.

Das XML hat aber eine eigene Struktur und diese möchte ich gerne verdeutlichen, eben durch grafische Darstellung, dass zB. Server eingerückt ist und ListenPort dann doppelt so viel eingerückt usw.

Am besten wäre dies wahrscheinlich mit DIVs zu realisieren, oder?

Danke für die Hilfe

Flo
floripipo ist offline  
Alt 31.08.2010, 15:56  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Verschachtelte, unsortierte Listen ?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 31.08.2010, 16:48  
Benutzer
 
Registriert seit: 18.02.2009
Beiträge: 38
floripipo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habs jetzt doch mit verschachtelten Divs lösen können, wobei's nicht ganz so einfach war, den richtigen Ort für die DIV-Tags zu finden ^^ aber danke vielmals für die Hilfe
floripipo ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ini-Datei auslesen und per PHP wiedergeben Sven83 Datenbanken 3 06.01.2010 16:03
Datenbank abfrage in Tabelle wiedergeben kretsche Datenbanken 15 27.12.2009 12:35
Controller Hierarchie Dark Guardian Software-Design 18 27.10.2009 13:22
Baumstruktur -> alle unterpunkte rekursiv mit einem query Papst Datenbanken 3 02.01.2008 23:01
Baumstruktur die man drehen kann aktionkuba Datenbanken 1 07.04.2006 16:44
Baumstruktur anzeigen PHP-Fortgeschrittene 13 31.03.2006 21:37
[Erledigt] Baumstruktur (Parent) Berechnungen PHP-Fortgeschrittene 6 31.03.2006 14:45
Navigation / Baumstruktur Marc PHP Tipps 2007 6 12.11.2005 17:45
Baumstruktur in Datenbank speichern PHP-Fortgeschrittene 2 28.06.2005 11:37
SQL Abfrage in Tabelle wiedergeben PHP Tipps 2005 10 07.04.2005 21:24
[Erledigt] Kategorien in Baumstruktur PHP Tipps 2005 11 08.02.2005 22:24
Baumstruktur mit PHP programmieren! PHP Tipps 2005 2 10.01.2005 19:56
id wiedergeben nach einem INSERT ? PHP Tipps 2004-2 2 08.12.2004 19:03
baumstruktur konsti Datenbanken 0 27.09.2004 17:58
Baumstruktur HTML, Usability und Barrierefreiheit 4 09.08.2004 14:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php baumstruktur, baumstruktur php, php baumstruktur darstellen, baumstruktur mit php, hierarchie baumstruktur, xml hierarchie, php xml rekursiv, array baumstruktur, funktion mit php wiedergeben, xml rekursiv, php baumstruktur rekursiv einlesen, php xml baumstruktur darstellen, php xml rekursiv auslesen, php read xml in array hiearachry, baumstruktur php.de, array baumstruktur php, baumstruktur php ausgeben, array key mit foreach wiedergeben, baumstruktur xml, php xml array baum

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum