Xml Datei in php inkludieren |
Marcus
Forenheld Threadstarter
Beiträge: 880 |
Hallo zusammen!
Wie kann ich denn eine XML-Datei in PHP einbinden, die dann auch richtig (also mit CSS-Angaben) angezeigt wird?
Bind ich die mit include("neu.xml") ein passiert gar nix, oder er schreibt alles in eine Zeile.
Bau ich da drumherum ein Tag, so werden die css Angaben ebenfalls ignoriert.
Hier mal die Quelltexte:
php-Datei:
1:
2:
3: | echo "";
include("neu.xml");
echo ""; |
und hier die xml-datei:
Wer weis da weiter?
Marcus
|
 Profil
E-Mail
Editieren
Zitieren
|
slackerbitch
Otto-Normal-Poster
Beiträge: 69 |
php und xml sind zwei paar schuhe.
du kannst also eine xml datei nicht einfach includen sondern musst sie einlesen und dann verarbeiten.
---
sig
|
 Profil
Website
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Aber du kannst natürlich trotzdem HTML-, und XML-Dateien includen.
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
Marcus
Forenheld Threadstarter
Beiträge: 880 |
Und wie bearbeite ich die so, daß die CSS angaben korrekt angezeigt werden? Hab mit der Kombi PHP/XML nicht so den Durchblick.
|
 Profil
E-Mail
Editieren
Zitieren
|
slackerbitch
Otto-Normal-Poster
Beiträge: 69 |
ich frage mich, was du eigentlich erreichen magst.
willst du eine website erstellen, bei der der browser xml interpretieren soll?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41: |
lass es sein - wird doch nur in ie angezeigt.
der aufbau waere z.b. vereinfacht so:
hallo
Yoyo
Frank
Baba
Ali
Muster
Karl
zeigt namen an.
|
hast du daten, die im xml format vorliegen?
dann wirst du dir ueber einen xml parser gedanken machen muessen.
oder willst du einen rss newsticker machen?
schau doch nach einem tutorial. was auch generell mein tip ist, sich erstmal gedanken zu machen, wofuer xml ueberhaupt sinnvoll ist, denn bei allem hype muss man schon nach konkreten, sinnvollen einsatzmoeglichkeiten suchen. im web design sehe ich eigentlich keine funktionierende einsatzmoeglichkeit. als "datencontainer" dagegen macht es sinn.
---
sig
|
 Profil
Website
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Hm...habe noch nie begriffen, wozu xml (auch xhtml) gut sein soll. Komme mit HTML allein perfekt zurecht...
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
Marcus
Forenheld Threadstarter
Beiträge: 880 |
Jo, hab ich. Ich hab gedacht, das ich Gästebuch, Neuigkeiten usw., also alles, was abgespeichert werden kann im XML Format speichere. Zum einen, weil ich mich damit recht gut auskenne, zum anderen, weil mein Webhoster kein Mysql unterstützt.
So wie dus geschrieben hast, wirds auch zusammengesetzt, aber der Interpretiert dennoch keine CSS-Dateien. Er schreibt einfach alles in eine Zeile.
|
 Profil
E-Mail
Editieren
Zitieren
|
inko
Fachidiot
Beiträge: 133 |
Mit XML bekommt man eine klare Trennung der Daten vom Design, dadurch kann man sie mittels verschiedenen XML-Parsern auch unterschiedlich anzeigen lassen, ist eigentlich ziemlich praktisch. Ich verwende bei Socket-Kommunikation inzwischen ausschliesslich XML, weil man die Daten mittels eines 20 Zeilen-Parsers perfekt in einen Multihash bekommt.
Zu Deinem Problem: Du brauchst einen XSLT-Parser, um aus Deinem XML, mit Hilfe eines XSLT-Stylesheets HTML zu generieren. Natürlich kannst Du Dir auch Deinen eigenen Parser schreiben.
|
 Profil
Editieren
Zitieren
|
Marcus
Forenheld Threadstarter
Beiträge: 880 |
Und wo bekomm ich so einen Parser her? Oder reicht es, wenn ich ne xslt-datei inkludiere?
|
 Profil
E-Mail
Editieren
Zitieren
|
inko
Fachidiot
Beiträge: 133 |
Nein das reicht nicht, es muß eine serverseitig ausgeführte Transformationsaktion durchgeführt werden. Parser gibt es für u.a. für Java, PHP und Perl, je nach Komplexität des XML-Files kann man auch einen eigenen schreiben, der genau auf Deine Daten passt.
|
 Profil
Editieren
Zitieren
|
Marcus
Forenheld Threadstarter
Beiträge: 880 |
Und wie schreib ich mir so einen? Bzw. wo bekomm ich den her? Hab meinen eignen Webserver, also serverseitig ist eigentlich alles möglich.
|
 Profil
E-Mail
Editieren
Zitieren
|
inko
Fachidiot
Beiträge: 133 |
Da bei Dir wohl sämtliche Tags vordefiniert sind kannst Du ja einfach per
ereg_replace oder preg_replace die Tags durch HTML-Tags ersetzen.
Beispiel:
gast
03.02.1999
blablablabla
soll zu folgendem werden (je nachdem wie es aussehen soll)
NAME: gast |
DATUM: 03.02.1999 |
blablablablablabla |
=> NAME:
=> | |
=> DATUM:
=> |
usw...
Also prinzipiell XML-File mit PHP in eine Variable einlesen, eregs drüberlaufen lassen und Variable ausgeben - fertig.
 Profil
Editieren
Zitieren
|
Marcus
Forenheld Threadstarter
Beiträge: 880 |
Jau, danke, so gehts ohne Probleme, wie ich mirs vorgstellt habe:
$datei="neu.xml";
$zeiger=fopen($datei,"r");
$xdatei=fread($zeiger,filesize($datei));
rewind($zeiger);
$xdatei=ereg_replace(" ","",$xdatei);
$xdatei=ereg_replace("","",$xdatei);
$xdatei=ereg_replace(""," | ",$xdatei);
$xdatei=ereg_replace("","",$xdatei);
$xdatei=ereg_replace(""," | ",$xdatei);
$xdatei=ereg_replace("","",$xdatei);
$xdatei=ereg_replace(""," | ",$xdatei);
$xdatei=ereg_replace("","Geschrieben von ",$xdatei);
$xdatei=ereg_replace(""," | ",$xdatei);
$xdatei=ereg_replace(""," ",$xdatei);
echo $xdatei;
fclose($zeiger);
|  Profil
E-Mail
Editieren
Zitieren
|
|