Iam trying to parse rss feed from particular url…
here is my php file
<?php
//define ('XMLFILE', dirname(__FILE__) . '/editorial.rss');
$file = 'https://omni642stitches:6sT42nCd@cms.performgroup.com/cms/mrss/feed/editorial.rss';
$items = array ();
$i = 0;
//$xmlReader = new XMLReader();
$xmlReader=simplexml_load_file($file);
$isParserActive = false;
$simpleNodeTypes = array ("title","link", "description", "media:title");
while ($xmlReader->read ())
{
$nodeType = $xmlReader->nodeType;
// Only deal with Beginning/Ending Tags
if ($nodeType != XMLReader::ELEMENT && $nodeType != XMLReader::END_ELEMENT)
{
continue;
}
else if ($xmlReader->name == "item")
{
if (($nodeType == XMLReader::END_ELEMENT) && $isParserActive)
{
$i++;
}
$isParserActive = ($nodeType != XMLReader::END_ELEMENT);
}
if (!$isParserActive || $nodeType == XMLReader::END_ELEMENT)
{
continue;
}
$name = $xmlReader->name;
if (in_array ($name, $simpleNodeTypes))
{
// Skip to the text node
$xmlReader->read ();
$items[$i][$name] = $xmlReader->value;
}
else if ($name == "media:content")
{
$items[$i]['media:content'] = array (
"url" => $xmlReader->getAttribute("url"),
"width" => $xmlReader->getAttribute("width"),
"height" => $xmlReader->getAttribute("height")
);
}
}
var_dump ($items);
foreach ($items as $item) { ?>
<li> <a href="<?php echo $item['link'] ?>"><?php echo $item['title'] ?></a></li>
<?php }
?>
iam getting the above error but if i specify the path as stored rss file lik below
<?php
define ('XMLFILE', dirname(__FILE__) . '/editorial.rss');
$items = array ();
$i = 0;
$xmlReader = new XMLReader();
$xmlReader->open (XMLFILE, null, LIBXML_NOBLANKS);
everything is working fine… kindly help me with this error
The method
read()does not exist in theSimpleXMLElementclass, see http://nl.php.net/manual/en/class.simplexmlelement.php . You might want to use thechildren()method— edit BTW the function
simplexml_load_file()does not return aXMLReaderinstance, but aSimpleXMLElementinstance, see also http://nl.php.net/manual/en/function.simplexml-load-file.php