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