*/
error_reporting(E_ALL);
require_once 'XML/Unserializer.php';
/**
* class for the RDF docuemnt
*
*
*/
class rdfDocument
{
var $channel;
var $item;
function getItems($amount)
{
return array_splice($this->item,0,$amount);
}
}
/**
* class that is used for a channel in the RSS file
*
* you could implement whatever you like in this class,
* properties will be set from the XML document
*/
class channel
{
function getTitle()
{
return $this->title;
}
}
/**
* class that is used for an item in the RSS file
*
* you could implement whatever you like in this class,
* properties will be set from the XML document
*/
class item
{
function getTitle()
{
return $this->title;
}
}
$options = array(
XML_UNSERIALIZER_OPTION_COMPLEXTYPE => 'object',
XML_UNSERIALIZER_OPTION_TAG_MAP => array(
'rdf:RDF' => 'rdfDocument', // this is used to specify a classname for the root tag
)
);
// be careful to always use the ampersand in front of the new operator
$unserializer = &new XML_Unserializer($options);
$status = $unserializer->unserialize('http://pear.php.net/feeds/latest.rss',true);
if (PEAR::isError($status)) {
echo 'Error: ' . $status->getMessage();
} else {
$rss = $unserializer->getUnserializedData();
echo 'This has been returned by XML_Unserializer:
';
echo '
'; print_r($rss); echo ''; echo '