Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Sotun als wäre PHP, XML!!!

Empfohlene Antworten

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... :)

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

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... ;)

....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.

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]

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]

Hi,

gibst du im Header auch den xml content type an?

Gruß Jaraz

AAAAAAHHHHHHHHHH!!!!!! :D

Manno man... diese ahnungslosigkeit in der jugend kann einem viel zeit kosten ;)

Klappt wunderbar...

danke für die hilfe

Ich vermute das du einen XML Header senden musst.

Naja, hat ich ja schon vorher geschrieben...

Lesen bildet! ;-)

Gruß,

Markus

jaja.... wer lesen kann ist schon im klaren vorteil... den spruch kenn ich schon :D

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 ;)

dass muss so :)

schließlich soll ja nicht jeder wissen dass das keiene xml datei ist! :D

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

dass muss so :)

schließlich soll ja nicht jeder wissen dass das keiene xml datei ist! :D

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.

Sorry, aber ich kapier nicht, was du mir damit sagen willst.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.