XML File ausgeben?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
artikel
container
datei
description
error
fehlermeldung
funktionierende lsung
interviewen
item
level
link target
load
not
par
player
set
skript
test
zeile
-
ich hab mir hier was programmiert um eine xml datei auszulesen leider wird anstatt dem richtigen output nichts angezeigt
http://xt3.xardas.lima-city.de/test.php :
<? $xmlfile = "xmltest.xml"; $xml = simplexml_load_file($xmlfile); foreach ($xml->channel->item as $a) { $titel=$a->titel; $teaser=$a->description; $hyperlink= '<a href="'.$a->link.'" target="_blank">'.'Zum Artikel</a>'; print "<tr>"; print "<td>".$titel."</td>"; print "<td>".$teaser."</td>"; print "<td>".$hyperlink."</td>"; print "</tr>"; } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo xt3,
ich habe mir mal dein Problem angeschaut und diese funktionierende lösung entwickelt:
<?php $xmlfile = 'xmltest.xml'; $xml = simplexml_load_file($xmlfile); foreach ($xml->item as $a) { $titel=$a->titel; $teaser=$a->description; $hyperlink= '<a href="'.$a->link.'" target="_blank">Zum Artikel</a>'; print '<tr>'; print '<td>'.$titel.'</td>'; print '<td>'.$teaser.'</td>'; print '<td>'.$hyperlink.'</td>'; print '</tr>'; } ?>
xml-Datei:
(Kleine Modifikation: um alle herum muss noch ein container sein (habe mal set genommen, kannst du aber auch ändern)
<set> <item> <titel>Interview: "Dieffff" </titel> <description> gggggggggggggggsdfghijsdhgliiwergnnhbdfknb </description> <link> http://google.de </link> </item> <item> <titel>Interview: "Dieffff" </titel> <description> gggggggggggggggsdfghijsdhgliiwergnnhbdfknb </description> <link> http://google.de </link> </item> </set>
-
so nun gehts aber sobald es mehr als 7 items sind kommen nur noch fehler
Warning: simplexml_load_file() [function.simplexml-load-file]: http://burningblade.no-ip.biz:9090/stat.xml:1: parser error : Document is empty index.php on line 26 Warning: simplexml_load_file() [function.simplexml-load-file]: in index.php on line 26 Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in /srv/www/httpd/phost/x/eu/pytalhost/xt3/web/index.php on line 26 Warning: simplexml_load_file() [function.simplexml-load-file]: http://burningblade.no-ip.biz:9090/stat.xml:1: parser error : Start tag expected, '<' not found in index.php on line 26 Warning: simplexml_load_file() [function.simplexml-load-file]: in index.php on line 26 Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in index.php on line 26 Warning: Invalid argument supplied for foreach() in index.php on line 27
-
hallo,
ich kann deine Fehlermeldungen leider nicht nachvolziehen.
habe das skript bei mir mit mehr als 9 items erfolgreich getestet.
(PHP Version 5.1.0) -
joa aber woran liegt es denn dann, kann es vll sein das die xml datei zu groß zum externen einlesen ist?
-
hier der ganze code : http://xt3.pytalhost.eu/index.txt#
und hier gekürzt:
<html> <head> <meta http-equiv="Pragma" content="no-cache"/> <meta http-equiv="Cache-Control" content="no-cache"/> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/> <meta http-equiv="content-language" content="en"/> <title>Status</title> <style type="text/css" media="screen">@import url(stats.css);</style></head> <body> <br /> <table align="center" id="playerlist"> <tr class="plist"> <td width="80px" align="center" class="statstdtop">Level</td> <td width="80px" align="center" class="statstdtop">Name</td> <td width="60px" align="center" class="statstdtop">Rasse</td> <td width="80px" align="center" class="statstdtop">Klasse</td> <td width="80px" align="center" class="statstdtop">Position</td> <td width="80px" align="center" class="statstdtop">Zone</td> <td width="80px" align="center" class="statstdtop">Ping</td> <td width="80px" align="center" class="statstdtop">P-Level</td> </tr> <?php $xmlfile = 'http://burningblade.no-ip.biz:9090/stat.xml'; $xml = simplexml_load_file($xmlfile); foreach ($xml->players->player as $a) { $playerm++; $name=$a->name; $race=$a->race; $class=$a->class; $level=$a->level; $map=$a->map; $zone=$a->zone; $ping=$a->ping; $plevel=$a->plevel; print '<tr>'; print '<td class="l3v3l">'.$level.'</td>'; print '<td class="statstd"> '.$race.' race</td>'; print '<td class="cl4ss"> '.$class.' class</td>'; print '<td class="statstd">'.$map.'</td>'; print '<td class="z0n3">'.$zone.'</td>'; print '<td class="p1ng">'.$ping.'</td>'; print '<td class="statstd">'.$plevel.'</td>'; print '</tr>'; } print '<tr><td colspan="8" rowspan="1">Es sind '.$playerm.' Player online.</td></tr>'; ?> </body> </html>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage