Maison  >  Article  >  développement back-end  >  Exemple de php créant une fonction de flux RSS basée sur XML

Exemple de php créant une fonction de flux RSS basée sur XML

高洛峰
高洛峰original
2017-02-10 16:39:591148parcourir

Cet article présente principalement la fonction de PHP pour créer des flux RSS basés sur XML, et analyse la définition et l'utilisation des classes de génération de fichiers de flux RSS sous forme d'exemples. Les amis dans le besoin peuvent se référer aux exemples de cet article

Décrit la fonction d'utilisation de PHP pour créer des flux RSS basés sur XML. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Créez d'abord un modèle RSS. Le nom de fichier du modèle est feed.xml et le code est le suivant :

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

Utilisez ensuite un fichier php pour lire les données de la base de données et générer un fichier RSS Ici, un tableau est utilisé pour simuler les données lues dans la base de données :

.

<?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);
?>

L'effet final sous Firefox :

Exemple de php créant une fonction de flux RSS basée sur XML

Pour plus d'exemples de production PHP de flux RSS basés sur XML Exemples de fonctions, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn