open($feedurl); xml_read_rss($xml); $xml->close(); function xml_read_rss($xml) { if ($xml->next("rss")) { xml_read_channels($xml); } else { echo "Error, not an rss feed."; } } function xml_read_channels($xml) { while ($xml->read()) { switch ($xml->nodeType) { case XMLReader::ELEMENT: if ($xml->name == "channel") { xml_read_channel($xml); } else { xml_read_unknown_element($xml); } break; case XMLReader::END_ELEMENT: return; } } } function xml_read_channel($xml) { while ($xml->read()) { switch ($xml->nodeType) { case XMLReader::ELEMENT: if ($xml->name == "item") { xml_read_item($xml); } else { xml_read_unknown_element($xml); } break; case XMLReader::END_ELEMENT: return; } } } function xml_read_item($xml) { $newsdata = array(); while ($xml->read()) { switch ($xml->nodeType) { case XMLReader::ELEMENT: $newsdata[$xml->name] = $xml->readString(); xml_read_unknown_element($xml); break; case XMLReader::END_ELEMENT: print_news_item($newsdata); return; } } } function xml_read_unknown_element($xml) { while ($xml->read()) { switch ($xml->nodeType) { case XMLReader::ELEMENT: xml_read_unknown_element($xml); break; case XMLReader::END_ELEMENT: return; } } } function print_news_item($newsdata) { echo '
'; echo '
' . $newsdata['pubDate'] . '
'; echo '

' . $newsdata['title'] . '

'; echo '

' . $newsdata['description'] . '

'; echo '
'; } ?>