2017-07-04 5 views
0

anzuzeigen Ich habe eine Aufgabe, meine XML-RSS über PHP auf einer Website anzuzeigen, bisher habe ich mehrere Dinge ausprobiert und alle haben versagt. Und ich konnte die Antwort nicht finden, da die meisten Menschen RSS-Feeds von PHP aus der MySQL-Datenbank verwenden, um einen Live-Feed von Posts zu erhalten.Wie XML-RSS-Feed von PHP

XML RSS

<?xml version="1.0" encoding="UTF-8" ?> 
<rss version="2.0"> 

<channel> 
    <title>Treehouse front page</title> 
    <link>https://teamtreehouse.com/</link> 
    <description>Programming Tutorials</description> 
    <item> 
    <title>Code Academy</title> 
    <link>https://teamtreehouse.com/</link> 
    <description>Programming Tutorials</description> 
    </item> 
</channel> 

</rss> 

Wie kann ich diese Datei über PHP angezeigt werden?

+0

zu lösen Wenn ich jemals Begriff „Gentleman“ erwähnt wurde es nie einen Teil der Gemeinschaft ausschließen ment zu. Ich entschuldige mich aufrichtig, wenn es diesen Eindruck gemacht hat. Ich wünsche Ihnen einen schönen Tag! – Newbie

+0

Keine Sorge Newbie - Menschen, die diesen Fehler machen, wünschen sich selten, dass Menschen absichtlich ausgeschlossen werden. Ich denke jedoch, es ist großartig, wenn alle diese Dinge im Hinterkopf behalten, damit wir mehr Menschen fühlen können, als hätten sie einen Platz hier :-). Dir auch einen schönen Tag. – halfer

Antwort

1

Vielen Dank für die Führung auf dem richtigen Weg!

Aber dieser Code würde für DOM-Datei funktionieren, während meine Simplexml war. habe ich den folgenden Code, das Problem

<?php 
$rss = simplexml_load_file('rss.xml'); 

echo '<h4>'. $rss->channel->title . '</h4>'; 

foreach ($rss->channel->item as $item) { 
    echo '<h4><a href="'. $item->link .'">' . $item->title . "</a></h4>"; 
    echo "<p>" . $item->title . "</p>"; 
    echo "<p>" . $item->description . "</p>"; 
} 
?> 
1

Versuchen Sie, die DOMDocument() Klasse, zum Beispiel zu verwenden:

$rss = new DOMDocument(); 
$rss->load("http://yoursite.com/rss/"); 

$feed = array(); 
foreach ($rss->getElementsByTagName('item') as $node) { 
    $item = array ( 
     'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 
     'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 
     'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 
     'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, 
     ); 
    array_push($feed, $item); 
} 

Dies ist eine Spitze ist. Ich hoffe, ich habe dir geholfen.