Problem mit Objekten

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit Objekten

Postby deiszner » 28. June 2004 13:42

Hallo,

Ich habe ein Programm bei php.net gefunden, mit welchem ich aus einem RSS Feed XML in Variablen umwandeln kann.

Jetzt habe ich allerdrings das Problem, dass ich nicht weiss, wo in diesem
Quelltext die Variablen drinstecken - das Teil hat was mit Objekten zu tun - damit habe ich mich noch nie beschäftigt.

Normalerweise würde ich ja varablen wie

$titel[1]
$description[1]

und so weiter in die Datenbank einlesen - aber woher kriege ich jetzt die
Daten - wo im Quelltext kann ich die Daten in das Array einlesen?


danke

sd


Code: Select all
<?php

class RDFParser {
   var $_item;
   var $_url;
   
   function RDFParser($url) {
       $this->_url = $url;
   }

   function ParseRDF() {
       $this->_item = array('i' => 0);
       
       $parser = xml_parser_create();
       xml_set_object($parser, &$this);
       xml_set_element_handler($parser, "_startElement", "_endElement");
       xml_set_character_data_handler($parser, "_charHandler");
       
       $fp = fopen($this->_url, "r");
       while(!feof($fp)) {

           $line = fgets($fp, 4096);

           xml_parse($parser, $line);
       }
       fclose($fp);
       
       xml_parser_free($parser);
       
       return($this->_item['items']);
   }
   
   
   function _startElement($parser, $name, $attrs)  {
       $this->_item['maychar'] = true;
       
       if($name=="ITEM") {
           $this->_item['mayparse'] = true;
           $this->_item['i']++;
       } elseif($name=="TITLE") {
           $this->_item['akt'] = "TITLE";
       } elseif($name=="DESCRIPTION") {
           $this->_item['akt'] = "DESCRIPTION";
       } else {
           $this->_item['maychar'] = false;
       }
   }
   
   function _endElement($parser, $name) {
       if($name=="ITEM") {
           $this->_item['mayparse'] = false;
       } elseif($name=="TITLE" || $name=="DESCRIPTION") {
           $this->_item['maychar'] = false;
       }
   }
   
   function _charHandler($parser, $data) {
       if($this->_item['maychar'] && $this->_item['mayparse']) {

           if($this->_item['akt']=="DESCRIPTION") {
               $this->_item['items'][$this->_item['i']]['DESCRIPTION'] =
$data;
           }
           if($this->_item['akt']=="TITLE") {
               $this->_item['items'][$this->_item['i']]['titel'] = $data;
           }
       }
   }
}

$rdf =& new RDFParser("http://www.cdu.de/rss//2370_2481.xml");
print_r($rdf->ParseRDF());
?>
Alles schöne am Leben hat einen Haken. Es ist unmoralisch, illegal oder es macht dick.
deiszner
 
Posts: 129
Joined: 30. December 2002 12:18
Location: Leipzig

Return to PHP

Who is online

Users browsing this forum: No registered users and 13 guests