Supportnet / Forum / Webseiten/HTML
XML wird nicht richtig angezeigt
Frage
Hi
ich habe in PHP folgende Datei geschrieben und möchte, daß diese wie in XML üblich gegliedert und untereinander angezeigt wird. Bisher werden die Daten zwar richtig ausgegeben, aber eben nur einfach hintereinander. Was muss ich ändern?
<?
$xml="<?xml version=\"1.0\" encoding=\"ISO-88859-1\"?>";
$xml.="<plugins>";
include ("db.php");
$abfrage = "SELECT * FROM xxx ORDER BY name ASC";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_array($ergebnis))
{
$xml.="<name>";
$xml.=$row['name'];
$xml.="</name>";
$xml.="<Version>";
$xml.=$row['version'];
$xml.="</Version>";
$xml.="<Entwicklerversion>";
$xml.=$row['e_version'];
$xml.="</Entwicklerversion>";
$xml.="<Download>";
$xml.=$row['link_e_source'];
$xml.="</Download>";
$xml.="<Entwicklerdownload>";
$xml.=$row['link_e_source'];
$xml.="</Entwicklerdownload>";
}
$xml.="</plugins>";
echo utf8_encode($xml);
?>
Antwort 1 von katy
Hallo Netdeus,
so wie ich das sehe *), hast du kein Stylesheet eingebunden. Ohne Stylesheet hat der Browser aber keinen Anhaltspunkt, wie er die XML-Tags darstellen soll und verarbeitet sie einfach als Inline-Elemente - quasi wie Text.
Näheres hierzu kannst du nachlesen bei SelfHTML.
Einen schönen weißen Wintertag wünscht
katy
*): ich habe natürlich keine Ahnung was sich unter include ("db.php"); verbirgt. Es wäre daher für weitere (Nach-)Fragen besser, nicht das PHP-Script sondern die fertige XML-Datei zu posten.
so wie ich das sehe *), hast du kein Stylesheet eingebunden. Ohne Stylesheet hat der Browser aber keinen Anhaltspunkt, wie er die XML-Tags darstellen soll und verarbeitet sie einfach als Inline-Elemente - quasi wie Text.
Näheres hierzu kannst du nachlesen bei SelfHTML.
Einen schönen weißen Wintertag wünscht
katy
*): ich habe natürlich keine Ahnung was sich unter include ("db.php"); verbirgt. Es wäre daher für weitere (Nach-)Fragen besser, nicht das PHP-Script sondern die fertige XML-Datei zu posten.
Antwort 2 von Netdeus
die db.php ist nur die Verbindung zur Datenbank...sonst nichts...
Die fertige Datei kann unter:
www.pc-coaching-rodgau.de/VDR/abfrage_xml.php
gesehen werden...
Die fertige Datei kann unter:
www.pc-coaching-rodgau.de/VDR/abfrage_xml.php
gesehen werden...
Antwort 3 von katy
Hallo Netdeus,
da ist wirklich kein Stylesheet. Das müsstest du noch erstellen und einbauen entsprechend der Anleitung auf SelfHTML
katy
da ist wirklich kein Stylesheet. Das müsstest du noch erstellen und einbauen entsprechend der Anleitung auf SelfHTML
katy
Antwort 4 von Netdeus
Habe ich erstellt und ist auch eingebunden...hier die beiden Quelltexte:
<?
$xml="<?xml version=\"1.0\" encoding=\"ISO-88859-1\"?>";
$xml.="<?xml-stylesheet type=\"text/css\" href=\"abfrage.css\" ?>";
$xml.="<plugins>";
include ("db.php");
$abfrage = "SELECT * FROM plugins ORDER BY name ASC";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_array($ergebnis))
{
$xml.="<name>";
$xml.=$row['name'];
$xml.="</name>";
$xml.="<Version>";
$xml.=$row['version'];
$xml.="</Version>";
$xml.="<Entwicklerversion>";
$xml.=$row['e_version'];
$xml.="</Entwicklerversion>";
$xml.="<Download>";
$xml.=$row['link_e_source'];
$xml.="</Download>";
$xml.="<Entwicklerdownload>";
$xml.=$row['link_e_source'];
$xml.="</Entwicklerdownload>";
}
$xml.="</plugins>";
echo utf8_encode($xml);
?>
und
name {
position:absolute;
top:10px;
left:40px;
background-color:#C0C0C0;
padding:10px;
}
Version {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
Entwicklerversion {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
Download {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
Entwicklerdownload {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
schön wenn meine Ausgabe so aussehen würde:
<plugin>
<name>admin</name>
<Version>0.02</Version>
.
.
<name>lirc</name>
<Version>0.1.2</Version>
.
.
</plugin>
<?
$xml="<?xml version=\"1.0\" encoding=\"ISO-88859-1\"?>";
$xml.="<?xml-stylesheet type=\"text/css\" href=\"abfrage.css\" ?>";
$xml.="<plugins>";
include ("db.php");
$abfrage = "SELECT * FROM plugins ORDER BY name ASC";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_array($ergebnis))
{
$xml.="<name>";
$xml.=$row['name'];
$xml.="</name>";
$xml.="<Version>";
$xml.=$row['version'];
$xml.="</Version>";
$xml.="<Entwicklerversion>";
$xml.=$row['e_version'];
$xml.="</Entwicklerversion>";
$xml.="<Download>";
$xml.=$row['link_e_source'];
$xml.="</Download>";
$xml.="<Entwicklerdownload>";
$xml.=$row['link_e_source'];
$xml.="</Entwicklerdownload>";
}
$xml.="</plugins>";
echo utf8_encode($xml);
?>
und
name {
position:absolute;
top:10px;
left:40px;
background-color:#C0C0C0;
padding:10px;
}
Version {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
Entwicklerversion {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
Download {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
Entwicklerdownload {
position:relative;
display:block;
width:600px;
background-color:#808080;
color:#FFFFFF;
font-family:Tahoma,Arial,Helvetica,sans-serif;
font-size:48px;
padding:5px;
schön wenn meine Ausgabe so aussehen würde:
<plugin>
<name>admin</name>
<Version>0.02</Version>
.
.
<name>lirc</name>
<Version>0.1.2</Version>
.
.
</plugin>
Antwort 5 von katy
Hallo Netdeus,
im Gegensatz zu deinem Code funktioniert ja das SelfHTML-Beispiel bei mir problemlos. Einen Unterschied sehe ich auf Anhieb nur in der fehlenden DTD. Da ich selbst XML noch nie zur direkten Ausgabe verwendet habe, weiß ich jetzt nicht, ob die DTD fürs CSS erforderlich ist. Probier es eben mal aus.
katy
im Gegensatz zu deinem Code funktioniert ja das SelfHTML-Beispiel bei mir problemlos. Einen Unterschied sehe ich auf Anhieb nur in der fehlenden DTD. Da ich selbst XML noch nie zur direkten Ausgabe verwendet habe, weiß ich jetzt nicht, ob die DTD fürs CSS erforderlich ist. Probier es eben mal aus.
katy

