tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
189
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Myar Myar ist offline Mitglied Silber
    Registriert seit
    Dec 2007
    Beiträge
    79
    allöchen!

    Vorweg: Ja ich habe bereits gesucht bei google und hier im Forum. Im Prinzip habe ich ja einen Weg gefunden, nur funktioniert dieser nicht und ich brauche da eher Hilfe.

    Und zwar will ich ein Menu aus einer XML Datei zusammenstellen lassen. Dazu soll je nach nachdem was gebraucht wird, ein zweig herausgesucht werden und dann das Menu angezeigt werden.

    Dies wäre ein Beispiel für das Menu:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    <?xml version="1.0" encoding="utf-8" ?>
    <Menu>
      <loggedinnochar>
        <kategorie title="~Charakter~" descritpion="Charakter">
          <link title ="Charakter erschaffen" url="?showpage=charaktererschaffen" />
        </kategorie>
      </loggedinnochar>
      <loggedinonechar>
        <kategorie title="~Charakter~" descritpion="Charakter">
          <link title ="Charakter erschaffen" url="?showpage=charaktererschaffen" />
          <link title ="Charakter1" url="?skript=charwaehlen" />
        </kategorie>
      </loggedinonechar>
      <loggedintwochars>
        <kategorie title="~Charakter~" descritpion="Charakter">
          <link title ="Charakter1" url="?skript=charwaehlen" />
          <link title ="Charakter2" url="?skript=charwaehlen" />
        </kategorie>
      </loggedintwochars>
    </Menu>

    Und das ist die Klasse zum auslesen:
    PHP-Code:
    <?php

    // XML Datei auslesen

    class xmlparse{

          public function 
    parse($datei='../xml/menu.xml'){

                 
    $xml simplexml_load_file($datei);
           
    $result $xml->xpath('Menu/loggedinnochar');

                foreach(
    $result as $menu){
           
    $menus $menu;
          }
          echo 
    $menus;
          }

    }
    ?>
    So, eine Variable soll mal bestimmen, welches Menu ich brauche. Alles was unter "loggedinnochar" zu finden ist, ist das Menu.
    Ich brauche die Kategorie als Überschrift und den Link... als Link.

    Aber die Funktion da oben gibt mir bisher gar nicht aus Oo

    Zweite Frage wäre, ob ich innerhalb der XML Tags auch Variablen unterbringen kann, die dann später ersetzt werden.. sowas:
    Code :
    1
    2
    3
    4
    5
    6
    
    <loggedinonechar>
        <kategorie title="~Charakter~" descritpion="Charakter">
          <link title ="Charakter erschaffen" url="?showpage=charaktererschaffen" />
          <link title =$caharaktername url="?skript=charwaehlen" />
        </kategorie>
      </loggedinonechar>

    Ist das möglich?

    Ihr seht, viele Fragen sind offen. Ich suche nichtmal fertige Lösungen (außer beim ersten Problem finde ich nun wirklich nicht, was ich falsch mache). Hinweise reichen...

    Schönen Gruß
    Myar
     

  2. #2
    deostift deostift ist offline Mitglied Gold
    Registriert seit
    Apr 2003
    Ort
    Stuttgart (BW)
    Beiträge
    210
    Zu Deinem ersten Problem:

    Gib den Pfad wie folgt an (erster Slash = starte von der Wurzel)

    PHP-Code:
    $result $xml->xpath('/Menu/loggedinnochar'); 
    Danach erhälst Du ein Array wir folgt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    Array
    (
        [0] => SimpleXMLElement Object
            (
                [kategorie] => SimpleXMLElement Object
                    (
                        [@attributes] => Array
                            (
                                [title] => ~Charakter~
                                [descritpion] => Charakter
                            )
     
                        [link] => SimpleXMLElement Object
                            (
                                [@attributes] => Array
                                    (
                                        [title] => Charakter erschaffen
                                        [url] => ?showpage=charaktererschaffen
                                    )
                            )
                    )
            )
    )

    Das zu verarbeiten überlasse ich Dir


    Zu Deiner zweiten Frage - Verwende doch einfach:

    Code :
    1
    2
    3
    4
    5
    6
    
    <loggedinonechar>
        <kategorie title="~Charakter~" descritpion="Charakter">
          <link title ="CharCreate" url="?showpage=charaktererschaffen" />
          <link title ="CharChoose" url="?skript=charwaehlen" />
        </kategorie>
      </loggedinonechar>

    Bei der Ausgabe gibst Du dann nicht den Wert von title aus, sondern ersetzt diesen durch einen anderen.
     

  3. #3
    Myar Myar ist offline Mitglied Silber
    Registriert seit
    Dec 2007
    Beiträge
    79
    Danke für die Antwort

    Nunja, nach einer Woche rumprobieren, habe ich nun XML die Todfeindschaft erklärt und werde meine Vorhaben mittels SQL lösen.
    Danke denoch für deine Zeit!

    Gruß
    Myar
     

  4. #4
    deostift deostift ist offline Mitglied Gold
    Registriert seit
    Apr 2003
    Ort
    Stuttgart (BW)
    Beiträge
    210
    Versuch mal statt einer Woche rumzuprobieren, in dieser Zeit ein Buch zum Thema zu lesen Dann werden einem viele Dinge klar
     

Ähnliche Themen

  1. Css Anfängerfragen
    Von xkoy79 im Forum CSS
    Antworten: 72
    Letzter Beitrag: 12.12.07, 06:09
  2. PHP Anfängerfragen !
    Von xkoy79 im Forum PHP
    Antworten: 17
    Letzter Beitrag: 07.12.07, 16:34
  3. Anfängerfragen
    Von dadom110 im Forum CSS
    Antworten: 28
    Letzter Beitrag: 20.04.06, 08:19
  4. Anfängerfragen
    Von exitboy im Forum CSS
    Antworten: 3
    Letzter Beitrag: 08.07.05, 16:27
  5. Anfängerfragen
    Von fluid im Forum Linux & Unix
    Antworten: 9
    Letzter Beitrag: 27.06.03, 23:17