PHP und XML

jani_brb

Grünschnabel
Hallo,

ich möchte gerne eine xml news von einer externen space in meine seite per php einbinden.
jedoch habe ich ein kleines problem, bzw komme ich nicht weiter.

Ich fane einfach mal an, was ich schon habe:

Ich habe eine XML News-Datei, die auf einem externen Space gehostet und aktualisiert wird.
Diese sieht so aus (1. eintrag):

<?xml version="1.0" encoding="ISO-8859-15" standalone="yes" ?>
<!DOCTYPE Sport_f1 (View Source for full doctype...)>
- <Sport_f1 date="2004/12/13">
- <Artikel date="2004/12/20" time="09:04" id="19005">
<sport>Form1</sport>
<Headline>Heidfeld-Vertrag angeblich bereits unterschrieben</Headline>
- <FullText>
- <p>
Hier steht dann die Nachricht über Heidfeld!</p>
</p>
</FullText>
<IMGSmall>http://www.externer-space.de/news/images/8220.jpg</IMGSmall>
<IMGBig>http://www.externer-space.de/news/images_big/8220.jpg</IMGBig>
<IMGCopyright>xpb.cc</IMGCopyright>
<IMGUnterschrift>Unter Dach und Fach? Angeblich hat Heidfeld den Vertrag in der Tasche...</IMGUnterschrift>
<Page>http://www.externer-space.de/news/04122001.shtml</Page>
</Artikel>

In meiner PHP Datei habe ich nun folgendes stehen um die Datei auszugeben:

<html>
<head>
<title>XML-Dateien lesen</title>
</head>
<body>
<?php
$filename = 'http://www.externer-space.de/news.xml';

if(file_exists($filename)) {
$xml = simplexml_load_file($filename);
if($xml) {
foreach($xml->Artikel as $news) {
?>
<table>
<tr>
<td>&Uuml;berschrift</td>
<td><?php echo $news->Headline ?></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><?php echo $news->FullText ?></td>
</tr>
<tr>
<td><?php echo $news->date) ?></td>
</tr>
</table>
<?php
}
} else {
echo ' <p>Die Datei names '. $filename .' konnte nicht geöffnet werden</p>';
}
}
?>
</body>
</html>

Erste Frage, ist das so möglich? Ich bekomme leider keine ausgabe.
Zusätzlich, was mache ich wenn die ID nicht fortlaufend ist?

mfg
 
Braucht man dazu nicht noch ne XSL Datei um die Ausgabe überhaupt darzustellen? Desweiteren benötigt man noch eine XSD oder DSD Datei wo man die Struktur für die XML Datei deklariert. Ansonsten hast du natürlich keine Ausgabe, woher auch, hast ja nix definiert.

Also die XML hast du ja, nun brauchst du ne XSD oder DSD, um eine zu erstellen empfehle ich dir gerne XMLSPY(gibts als Homeedition gratis) und dann machste ne XSL Datei wo du die ausgabe definierst.

So habe ich bisher XML Sachen erstellt, allerdings noch nie in Verbindung zu PHP, nur mit WAP.
 
Hmm.. Angaben wie die PHP-Version wären noch schön gewesen. Naja. Ich nehme an, Du verwendest PHP 5. Ich habe es mittels einer PHP-Klasse gelöst, die mir die XML-Datei parst.

Leider kann ich dir so nicht helfen, da ich nicht so viel Ahnung von der SimpleXML-funktion hab. Allerdings solltest Du mal nach SimpleXML oder RSSFeed googeln. Da wirst Du sicher eine Menge finden. ;)

Alternativ gibt es in PHP-Pear auch DomXML. Allerdings ist das wieder eine andere Geschichte.... Nur so zur info. Falls Du mal was anderes ausprobieren willst ;)
 
Zurück