2. Mai 200520 j 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...
2. Mai 200520 j 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
2. Mai 200520 j 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...
2. Mai 200520 j ....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.
2. Mai 200520 j 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]
2. Mai 200520 j 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]
2. Mai 200520 j AAAAAAHHHHHHHHHH!!!!!! Manno man... diese ahnungslosigkeit in der jugend kann einem viel zeit kosten Klappt wunderbar... danke für die hilfe
2. Mai 200520 j Ich vermute das du einen XML Header senden musst. Naja, hat ich ja schon vorher geschrieben... Lesen bildet! ;-) Gruß, Markus
2. Mai 200520 j 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
2. Mai 200520 j 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
3. Mai 200520 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.