Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel einer PHP-Erstellung einer XML-basierten RSS-Feed-Funktion

Beispiel einer PHP-Erstellung einer XML-basierten RSS-Feed-Funktion

高洛峰
高洛峰Original
2017-02-10 16:39:591108Durchsuche

Dieser Artikel stellt hauptsächlich die Funktion von PHP zum Erstellen von RSS-Feeds auf Basis von XML vor und analysiert die Definition und Verwendung von RSS-Feed-Dateigenerierungsklassen in Form von Beispielen. Freunde in Not können sich auf die Beispiele dieses Artikels beziehen

Beschreibt die Funktion der Verwendung von PHP zum Erstellen von RSS-Feeds basierend auf XML. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Erstellen Sie zunächst eine RSS-Vorlage. Der Dateiname der Vorlage lautet „feed.xml“ und der Code lautet wie folgt:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>

Verwenden Sie dann eine PHP-Datei, um Daten aus der Datenbank zu lesen und eine RSS-Datei zu generieren. Hier wird ein Array verwendet, um die aus der Datenbank gelesenen Daten zu simulieren:

<?php 
class Rss{
  protected $dom = null;
  protected $temp = &#39;./feed.xml&#39;;
  protected $rss = null;
  protected $title = &#39;&#39;;
  protected $desc = &#39;&#39;;
  protected $link = &#39;&#39;;
  public function __construct(){
    $this->title = &#39;物理学&#39;;
    $this->desc = &#39;现代物理学&#39;;
    $this->link = &#39;http://mysql/rss.php&#39;;
    $this->dom = new DOMDocument(&#39;1.0&#39;,&#39;utf-8&#39;);
    $this->dom->load($this->temp);
    $this->rss = $this->dom->getElementsByTagName(&#39;rss&#39;)->item(0);
  }
  public function feed($arr){
    $this->createChannel();
    $channel = $this->dom->getElementsByTagName(&#39;channel&#39;)->item(0);
    foreach ($arr as $v){
      $channel->appendChild($this->createItem($v));
    }
    header(&#39;content-type:text/xml&#39;);
    echo $this->dom->savexml();
  }
  protected function createChannel(){
    $channel = $this->dom->createElement(&#39;channel&#39;);
    $channel->appendChild($this->createEle(&#39;title&#39;,$this->title));
    $channel->appendChild($this->createEle(&#39;link&#39;,$this->link));
    $channel->appendChild($this->createEle(&#39;description&#39;,$this->desc));
    $this->rss->appendChild($channel);
  }
  protected function createItem($arr){
    $item = $this->dom->createElement(&#39;item&#39;);
    foreach($arr as $k => $v){
      $item->appendChild($this->createEle($k,$v));
    }
    return $item;
  }
  protected function createEle($name,$value){
    $e=$this->dom->createElement($name);
    $t=$this->dom->createTextNode($value);
    $e->appendChild($t);
    return $e;
  }
}
$arr = array(
  array(
    &#39;title&#39;=>&#39;牛顿力学&#39;,
    &#39;link&#39;=>&#39;1&#39;,
    &#39;description&#39;=>&#39;牛顿力学&#39;
  ),
  array(
    &#39;title&#39;=>&#39;相对论&#39;,
    &#39;link&#39;=>&#39;1&#39;,
    &#39;description&#39;=>&#39;爱因斯坦的相对论&#39;
  )
);
$rss = new Rss;
$rss->feed($arr);
?>

Der endgültige Effekt unter Firefox:

Beispiel einer PHP-Erstellung einer XML-basierten RSS-Feed-Funktion

Weitere PHP-Produktionsbeispiele für XML-basierten RSS-Feed Funktionsbeispiele, bitte beachten Sie die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn