Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Problemi con SimpleXML
Forum - PHP - Problemi con SimpleXML

Avatar
D@vide (Member)
Expert


Messaggi: 450
Iscritto: 30/06/2010

Segnala al moderatore
Postato alle 15:32
Venerdì, 10/06/2011
Ho cominciato da poco lo studio di SimpleXML, con la speranza di abbandonare DOM.
Ora ho provato a riscrivere un piccolo script PHP che permette di generare un feed Atom dal database.
Il problema che riscontro è il lancio di un eccezione "Fatal error: Call to a member function addChild() on a non-object in /membri/prog/feed.php on line 16" ma non riesco a capire dove sbaglio.
Posto qui sotto il codice.

Codice sorgente - presumibilmente Plain Text

  1. <?php
  2.         include_once dirname(__FILE__)."/settings.php";
  3.        
  4.         $feedType = $_GET["type"];
  5.        
  6.         if(isset($feedType))
  7.         {
  8.                 $connection = mysqli_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_DATABASENAME);
  9.  
  10.                 if(empty($connection))
  11.                         die(MYSQL_ERRORMSG);
  12.  
  13.                 if($feedType == "atom")
  14.                 {
  15.                         $xml = simplexml_load_string("<?xml version=\"1.0\" encoding=\"utf-8\"?\>");
  16.                         $feed = $xml->addChild("feed");
  17.                         $feed->addAttribute("xmlns", "http://www.w3.org/2005/Atom");
  18.                        
  19.                         $feed->addChild("title", "Il Programmatore - Blog");
  20.                        
  21.                         $link = $feed->addChild("link");
  22.                         $link->addAttribute("href", "http://lol");
  23.                        
  24.                         $feed->addChild("updated", "2003-12-13T18:30:02Z");
  25.                        
  26.                         $author = $feed->addChild("author");
  27.                         $author->addChild("name", "Riva Davide");
  28.                        
  29.                         $stmt = $connection->prepare("SELECT title, author, date, description FROM article");
  30.                         $stmt->execute();
  31.                         $stmt->bind_result($title, $author, $date, $description);
  32.                         while($stmt->fetch())
  33.                         {
  34.                                 $item = $feed->addChild("entry");
  35.                                 $item->addChild("title", $title);
  36.                                
  37.                                 $link = $item->addChild("link");
  38.                                 $link->addAttribute("href", "http://lololol/".$title);
  39.                                
  40.                                 $item->addChild("updated", $date);
  41.                                
  42.                                 $item->addChild("summary", $description);
  43.                         }
  44.  
  45.                         echo $xml->asXML();
  46.                 }
  47.                
  48.                 mysqli_close($connection);
  49.         }
  50. ?>



Grazie in anticipo:k:

PM
Avatar
danielerew (Normal User)
Newbie


Messaggi: 15
Iscritto: 10/06/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 7:09
Martedì, 19/07/2011
Vedendo al volo il codice non mi sembra inizializzato nulla manca

$xml= new SimpleXMLElement($xmlstr);
$xml->addAttribute('type', 'documentary');

dai un occhiata alla guida ti posto il link al volo dopo una nottata di programmazione inizio ad essere out.

http://php.net/manual/en/simplexmlelement.addchild.php


ciao
Daniele


Prima o poi i nodi vengono al pettine...poche balle, piu serietà...
PM