Cre_Dev Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 Hallo zusammen. Habe heute eine kleine Herausforderung. Ich versuche grad eine Live-XML Datei zu erstellen. D.h. ich lese Daten aus der Datenbank per PHP und gebe die Daten via "echo" aus. Dabei habe ich die php datei mit der Endung .xml versehen und in die httpd_conf eingetragen, dass er xml dateinen als php behandeln soll... die ausgabe soll aber dennoch als xml angezeigt werden. So weit zu meinem Vorhaben. Das Ergebnis sieht aber anders aus... Die Daten werden mit einfach als Text String ausgegeben ohne dass diese XML üblich strukturiert werden... Weiß da jemand vielleicht Rat??? Danke schonmal fürs helfen...
kills Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 hm kann man eine URL sehen? Ich hätte übrigens nicht in der httpd_conf eingetragen, damit jede XML Datei geparsed wird... eine Einfache PHP Datei sollte auch ausreichen,... Ich vermute das du einen XML Header senden musst. Gruß, Markus
Cre_Dev Geschrieben 2. Mai 2005 Autor Geschrieben 2. Mai 2005 hmm... hab mittlerweile die ursache gefunden... also firefox wandelt die datei komischerweise nicht in xml um.... im ie geht das wunderbar! klingt komisch... iss aber so... aber danke trotzdem für den post...
Aiun Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 ....ich wage mal zu bezweiflen das der Firefox das relevant anders behandelt. würde da mal header-Einstellungen und XML-Definitionstag prüfen. kannst du ansonsten mal deinen Coden posten ? ... interessant wie das aussieht.
Cre_Dev Geschrieben 2. Mai 2005 Autor Geschrieben 2. Mai 2005 Im Prinzip: $line_content = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<XYZ>\n"; ## Abfrage der Daten aus der DB $link = "http://www.xyz.de/detail-".$prod_id."-".$cat_id."-".$link_cat."_".$linkname.".html"; $line_content .= "\t<PRODUCT>\n"; $line_content .= "\t\t<PRODUCTID>".$prod_id."</PRODUCTID>\n"; $line_content .= "\t\t<PRODUCTNAME>".$name."</PRODUCTNAME>\n"; $line_content .= "\t\t<PRODUCTLINK>". $link ."</PRODUCTLINK>\n"; $line_content .= "\t\t<PRODUCTIMAGE>http://www.xyz.de/create/basic.php</PRODUCTIMAGE>\n"; $line_content .= "\t</PRODUCT>\n"; $line_content .= "</xyz>\n"; echo $line_content; [/PHP]
kills Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 verusch ma so: header('Content-Type: text/xml'); ## Abfrage der Daten aus der DB $link = "http://www.xyz.de/detail-".$prod_id."-".$cat_id."-".$link_cat."_".$linkname.".html"; $line_content .= "\t<PRODUCT>\n"; $line_content .= "\t\t<PRODUCTID>".$prod_id."</PRODUCTID>\n"; $line_content .= "\t\t<PRODUCTNAME>".$name."</PRODUCTNAME>\n"; $line_content .= "\t\t<PRODUCTLINK>". $link ."</PRODUCTLINK>\n"; $line_content .= "\t\t<PRODUCTIMAGE>http://www.xyz.de/create/basic.php</PRODUCTIMAGE>\n"; $line_content .= "\t</PRODUCT>\n"; $line_content .= "</xyz>\n"; echo $line_content; [/PHP]
Jaraz Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 Hi, gibst du im Header auch den xml content type an? Gruß Jaraz
Cre_Dev Geschrieben 2. Mai 2005 Autor Geschrieben 2. Mai 2005 AAAAAAHHHHHHHHHH!!!!!! Manno man... diese ahnungslosigkeit in der jugend kann einem viel zeit kosten Klappt wunderbar... danke für die hilfe
kills Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 Ich vermute das du einen XML Header senden musst. Naja, hat ich ja schon vorher geschrieben... Lesen bildet! ;-) Gruß, Markus
Cre_Dev Geschrieben 2. Mai 2005 Autor Geschrieben 2. Mai 2005 jaja.... wer lesen kann ist schon im klaren vorteil... den spruch kenn ich schon
geloescht_JesterDay Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 gibst du im Header auch den xml content type an? Wenn du das tust, ist es auch egal, ob die Datei php oder xml als Endung hat. Du kannst deinen Einstellung also ruhig wieder auf den Standard setzen
Cre_Dev Geschrieben 2. Mai 2005 Autor Geschrieben 2. Mai 2005 dass muss so schließlich soll ja nicht jeder wissen dass das keiene xml datei ist!
Amstelchen Geschrieben 2. Mai 2005 Geschrieben 2. Mai 2005 Wenn du das tust, ist es auch egal, ob die Datei php oder xml als Endung hat. Du kannst deinen Einstellung also ruhig wieder auf den Standard setzen nein. siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.2.1 s'Amstel
geloescht_JesterDay Geschrieben 3. Mai 2005 Geschrieben 3. Mai 2005 dass muss so schließlich soll ja nicht jeder wissen dass das keiene xml datei ist! Dann mach noch n Header: Header('Content-disposition: inline; filename=" '.$name.' " '); [/php] Deine PHP-DAtei interessiert eh nur den Web-Server, der Client bekommt nur die Ausgabe. Mit der Header Anweisung sagst du dem Client, was für einen Namen deine Datei hat. Dann steht zwar oben in der Adresse deine Seite.php, aber was interessiert das? Wichtig ist, dass die Daten die ankommen XML sind. Und durch deinen Header Eintrag interpretiert dein Browser die Datei als XML. Endungen von Dateien sind [b]nur für Windows wichtig[/b]! (Und vielleicht, damit man leichter sieht um was es sich handelt. Das kann man aber auch anders tun) Eine Datei ist eine Datei und da ändert auch die Endung nix dran. nein. siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.2.1 s'Amstel Sorry, aber ich kapier nicht, was du mir damit sagen willst.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden