fritz85: XML Daten in HTML Datei ausgeben

Hallo,

habe nun seit 8:00Uhr gegoogelt und im Forum gesucht was zu diesen Thema.Jedoch nichts was mich weiter bringen könnte da ich ein Laie auf diesem Gebiet bin.

Ich habe eine XML Datei welche ich nun mit HTML ausgeben möchte.
Hier mal ein Einblick in meine XML Datei:

  
<?xml version="1.0" encoding="ISO-8859-1"?>  
<xmlphp date="30.09.2008, 17:50:32">  
 <xmlphp id="23">  
  <id>23</id>  
  <titel>Das wäre Titel Nummer 1</titel>  
  <text>Das wäre mein Text Nummer 1</text>  
  <show_name>Fritz</show_name>  
  <bild>2342.jpg</bild>  
 </xmlphp>  
 <xmlphp id="24">  
  <id>23</id>  
  <titel>Das wäre Titel Nummer 2</titel>  
  <text>Das wäre mein Text Nummer 2</text>  
  <show_name>Andreas</show_name>  
  <bild>2344.jpg</bild>  
 </xmlphp>  
</xmlphp>  

Nun würde ich gerne diese Daten in einem HTML File ausgeben. Jedoch sieht man das ich hier z.B. mehrere Inserate habe.
Gibt es eine Möglichkeit das man folgendes macht:

Das erste Inserat ID 23:

www.meinedomain.de/23_Fritz.html

Das zweite Inserat ID 24

www.meinedomain.de/24_Andreas.html

Und drin wären dann die Informationen. Das Template würde eig. immer gleich aussehen. Jedoch bin ich noch immer am Anfang und wäre über Hilfe sehr dankbar :-)

Gruss
Fritz

  1. @@fritz85:

    Ich habe eine XML Datei welche ich nun mit HTML ausgeben möchte.

    Beschäftige dich mit XSLT [http://de.selfhtml.org/xml/darstellung/index.htm@title=SELFHTML, XSLT].

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
  2. Ich habe eine XML Datei welche ich nun mit HTML ausgeben möchte.
    Hier mal ein Einblick in meine XML Datei:

      
    
    > <?xml version="1.0" encoding="ISO-8859-1"?>  
    > <xmlphp date="30.09.2008, 17:50:32">  
    >  <xmlphp id="23">  
    >   <id>23</id>  
    >   <titel>Das wäre Titel Nummer 1</titel>  
    >   <text>Das wäre mein Text Nummer 1</text>  
    >   <show_name>Fritz</show_name>  
    >   <bild>2342.jpg</bild>  
    >  </xmlphp>  
    >  <xmlphp id="24">  
    >   <id>23</id>  
    >   <titel>Das wäre Titel Nummer 2</titel>  
    >   <text>Das wäre mein Text Nummer 2</text>  
    >   <show_name>Andreas</show_name>  
    >   <bild>2344.jpg</bild>  
    >  </xmlphp>  
    > </xmlphp>  
    
    

    Nun würde ich gerne diese Daten in einem HTML File ausgeben. Jedoch sieht man das ich hier z.B. mehrere Inserate habe.
    Gibt es eine Möglichkeit das man folgendes macht:

    ja - du benötigst lediglich eine detailseite, die dann unterknoten anhand der id ausgibt - ggf solltest du dein xml-file nochmal überdenken (wenn du es denn selbst erzeugst)
    aktuell weiss man nicht was es ist, annahme es sind personenprofile, dann sollte das so aussehen (datum in einem gebräuchlichen datumsformat) die id nicht doppelt und die knoten so benennen, dass man versteht was sie tun - xml soll manschinen und zumindest halbwegs menschenlesbar sein - wenn du selbst in 3 monaten nicht mehr weisst, was ein knoten tut (und das passiert) ärgerst du dich sicher - zudem ist die zeichencodierung mit utf-8 sicher schlauer

    zudem habe ich show_name auf anzeigename geändert, da man sich auf eine sprache einigen sollte - deutsch und englisch in den knotennamen verwirrt - da musst du jedes mal nachdenken ob du jetzt title oder titel geschrieben hast - wenn du das einheitlich in einer sprache machst, musst du weniger denken ;)

    wenn das ganze zum austausch mit anderen leuten gedacht ist, empfiehlt sich ggf englisch

    ob du attribute für die id oder elemente nimmst, ist eigentlich egal und geschmackssache - ich bevorzuge die variante ohne attribute ;)

      
    <?xml version="1.0" encoding="utf-8"?>  
    <personen>  
      <meta>  
        <zuletzterstellt>2008-09-30T17:50:32+01:00</zuletzterstellt>  
      </meta>  
      <person>  
        <id>23</id>  
        <titel>Das wäre Titel Nummer 1</titel>  
        <text>Das wäre mein Text Nummer 1</text>  
        <anzeigename>Fritz</anzeigename>  
        <bild>2342.jpg</bild>  
      </person>  
      <person>  
        <id>24</id>  
        <titel>Das wäre Titel Nummer 2</titel>  
        <text>Das wäre mein Text Nummer 2</text>  
        <anzeigename>Andreas</anzeigename>  
        <bild>2344.jpg</bild>  
      </person>  
    </personen>  
    
    

    und jetzt zurück zum eigenlichen problem:

    html kann keine xml-files auslesen, dafür benötigst du idealerweise eine serverseitige sprache - php zb  - mit simplexml kannst du bequem die daten auslesen

    du baust dir ein script welches einen get-parameter (id) akzeptiert, wenn der parameter gesetzt ist, gibst du nur einen person-knoten aus (der mit der jeweiligen id), wenn nicht, gibs du die komplette liste (optional mit umblätterfunktion) aus

    zb
    example.com/foo.php?id=24 gibt dir dann die detailseite von Andreas aus
    example.com/foo.php gibt dir alles aus

    mit mod_rewrite kannst du natürlich example.com/24_andreas.html zu
    example.com/foo.php?id=24 umschreiben lassen, damit du schöne urls hast

    und auch wenn mich jetzt wieder sich ein paar für die "alte leier" steinigen:

    RFC 2606, Abschnitt 3 unbedingt lesen, da ich denke dass du nicht für schlund arbeitest

    1. Hi,

      danke für deine Antwort.
      Ich habe bereits eine PHP Datei die mir aus dem XML eine schöne Anzeige publiziert mit allen Personen inkl. Paging.

      Das XML werde ich noch Anpassen danke hierzu für die Infos.
      -------
      hmmm ?!

      du baust dir ein script welches einen get-parameter (id) akzeptiert, wenn der parameter gesetzt ist, gibst du nur einen person-knoten aus (der mit der jeweiligen id), wenn nicht, gibs du die komplette liste (optional mit umblätterfunktion) aus

      Wo kann das mit dem mod-rewrite eingestellt werden?

      mit mod_rewrite kannst du natürlich example.com/24_andreas.html zu
      example.com/foo.php?id=24 umschreiben lassen, damit du schöne urls hast

      Sorry das war doch nur für mich ein Beispiel!

      und auch wenn mich jetzt wieder sich ein paar für die "alte leier" steinigen:

      RFC 2606, Abschnitt 3 unbedingt lesen, da ich denke dass du nicht für schlund arbeitest

      1. Hi,

        danke für deine Antwort.
        Ich habe bereits eine PHP Datei die mir aus dem XML eine schöne Anzeige publiziert mit allen Personen inkl. Paging.

        Das XML werde ich noch Anpassen danke hierzu für die Infos.

        hmmm ?!

        du baust dir ein script welches einen get-parameter (id) akzeptiert, wenn der parameter gesetzt ist, gibst du nur einen person-knoten aus (der mit der jeweiligen id), wenn nicht, gibs du die komplette liste (optional mit umblätterfunktion) aus

        Wo kann das mit dem mod-rewrite eingestellt werden?

        üblicherweise in der konfiguration deines webservers oder in einem zugehörigen .htaccess-file - die apache-dokumentation gibt zb aufschluss

        Sorry das war doch nur für mich ein Beispiel!

        genau darum gehts in abschnitt 3 von RFC 2606, beispiele als beispiele kennzeichnen, indem mal beispieldomains verwendet ;) wenn jemand als beispiel

        "schreib.mir.eine.ewig.lange.spammail@rebell.at" verwendet, kann ich sicher sein, dass ich ein paar tage später schon massenhaft spam an diese adresse bekommen würde, gäbe es sie

        darum verwendet man als beispieladresse auch "max mustermann, musterstraße 124, 1234 musterhausen" und nicht "lieschen müller, ..." nein halt, lieschen müller ist auch ein platzhaltername :D

        1. Hi,

          üblicherweise in der konfiguration deines webservers oder in einem zugehörigen .htaccess-file - die apache-dokumentation gibt zb aufschluss

          Ich habe nun ein .htaccess-file mit folgendem Inhalt:

          RewriteEngine on
          Options +FollowSymlinks
          RewriteBase /

          RewriteRule ^person(.*).htm$ /person.php?id=$1 [L]

          Kann ich das .htaccess nun in den Ordner legen wo das person.php ist und im index.php wie ja person.php?id=$id angegeben das ändern zu person$id.htm

          leider funktioniert das nicht ?

          Gruss
          fritz

          1. habs nun geschafft... jedoch ist sowas nicht möglich im .htaccess:

            RewriteRule ^tmp_(.*)_(.*).htm$ /index.php?see=$1&re=$2 [L]
            RewriteRule ^tmp_prof_(.*)_(.*)_(.*).htm$ /index.php?see=$1&kat=$2&re=$3 [L]

            beim zweiten Link hab ich einen Parameter mehr drin und den schluckt er mir also nicht.... Kann man da etwas machen?!