CSTrüter HomeArticlesDownloadsAbout meContact me
a quick look at how to create a windows service using C# 2010-02-28 21:48:06
How to call server-side code from client-side code, using PageMethods in ASP.net 2010-02-21 12:31:27
How to pass a set of data to an xml type in SQL 2005/8 2010-02-12 19:04:23
Some funky behaviour regarding overload Resolution of dynamic/object types 2010-02-09 17:16:52
Object orientated programming within JavaScript 2010-01-28 07:25:45
How to sort data using ASP.net (C#) and SQL 2005/8 2010-01-18 15:23:14
Quick look at some of the new features added to C# 4.0 2010-01-12 21:52:13
SQL 2008 introduced a nifty feature called Table-Valued Parameters (TVP) into its codebase 2010-01-06 22:58:25
How to page data using ASP.net (C#) and SQL 2005/8 2009-10-19 15:01:45
a post about sql joins 2009-09-20 15:50:57
Creating a WYSIWYG textbox for your website is actually quite simple. 2007-02-01 12:00:00
Move items between two listboxes in ASP.net(C#, VB.NET) and PHP 2008-06-12 17:07:43
Firefox word wrapping issues 2008-06-09 09:51:21
2007-02-22 12:00:00
Blog about passing parameters by reference to functions using func_get_arg(s) 2008-07-27 12:38:24
Download the demo code There is a few methods if you're planning to parse RSS in PHP, depending on your version of PHP, it can prove to be quite tedious. If you're looking for an out of the box solution there are components available in the PEAR package and a number of open source projects, that you can easily use as well. We're however going to code this ourselves, the following code is by no means a mature solution (it assumes a lot of things), and should soley be used as a starting point - ensure that you've got sufficient error handling. In the first example, we're going to use the xml parser functions in PHP to populate our RSS object, we also attach three events (openElement, closeElement and cdata) that aid us in parsing the feed.
<?php class RSSReader { var $inItem = false; var $inChannel = false; var $currentTag = ""; var $items = array(); var $count = 0; function RSSReader($url) { $this->parser = xml_parser_create(); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, "openElement", "closeElement"); xml_set_character_data_handler($this->parser, "cdata"); $contents = file_get_contents($url); xml_parse($this->parser, $contents); xml_parser_free($this->parser); } function openElement($parser, $tag, $attributes) { switch($tag) { case "ITEM": $this->inItem = true; $this->inChannel = false; $this->items[$this->count] = array(); break; case "CHANNEL": $this->inChannel = true; } $this->currentTag = strtolower($tag); } function cdata($parser, $cdata) { if ($this->inItem) { if ($this->currentTag != "item") { $this->items[$this->count][$this->currentTag].= $cdata; } } if ($this->inChannel) { if ($this->currentTag == "image") { $this->inChannel = false; } else { $this->.= $cdata; } } } function closeElement($parser, $tag) { if ($tag == "ITEM") { $this->count++; $this->inItem = false; $this->inChannel = false; } } } ?>
<?php class RSSReader { private $inItem = false; private $inChannel = false; private $currentTag = ""; public $items = array(); public $count = 0; public function RSSReader($url) { $this->parser = xml_parser_create(); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, "openElement", "closeElement"); xml_set_character_data_handler($this->parser, "cdata"); $contents = file_get_contents($url); xml_parse($this->parser, $contents); xml_parser_free($this->parser); } private function openElement($parser, $tag, $attributes) { switch($tag) { case "ITEM": $this->inItem = true; $this->inChannel = false; $this->items[$this->count] = array(); break; case "CHANNEL": $this->inChannel = true; } $this->currentTag = strtolower($tag); } private function cdata($parser, $cdata) { if ($this->inItem) { if ($this->currentTag != "item") { $this->items[$this->count][$this->currentTag].= $cdata; } } if ($this->inChannel) { if ($this->currentTag == "image") { $this->inChannel = false; } else { $this->.= $cdata; } } } private function closeElement($parser, $tag) { if ($tag == "ITEM") { $this->count++; $this->inItem = false; $this->inChannel = false; } } } ?>
<?php class RSSReader { public $items = array(); public function RSSReader($url) { $xmlDoc = new COM("Microsoft.XMLDOM"); $xmlDoc->async = false; $xmlDoc->load($url); $this->title = $this->getElement($xmlDoc, 'title'); $this->link = $this->getElement($xmlDoc, 'link'); $this->description = $this->getElement($xmlDoc, 'description'); $items = $xmlDoc->getElementsByTagName('item'); for ($i = 0; $i < $items->length; $i++) { $this->items[$i] = array('title' => $this->getElement($items[$i], 'title'), 'description' => $this->getElement($items[$i], 'description'), 'link' => $this->getElement($items[$i], 'link')); } } private function getElement($parent, $tagName) { $element = $parent->getElementsByTagName($tagName); return $element[0]->firstChild->nodeValue; } } ?>
<?php class RSSReader { public function RSSReader($url) { $contents = file_get_contents($url); $rss = new SimpleXmlElement($contents); $this->title = $rss->channel->title; $this->link = $rss->channel->link; $this->decription = $rss->channel->description; $this->date = $rss->channel->pubDate; $this->image = $rss->channel->image; $this->items = $rss->channel->item; } } ?>
No Entries Found
Codebooth my semi-community site etc (work in progress)
The company I'am currently working for as software developer.
a Parallel reference of programming languages 2009-09-10 12:48:23
a tutorial explaining how to develop a simple login using PHP and MySQL 2009-09-05 18:26:47
An article looking at adding some kind of event driven model to PHP 5 2008-07-28 12:48:09
It is very simple creating your own rss reader, the following article looks at a few methods of doing this. 2008-06-23 13:18:25
A quick reference about working with dropdown boxes (select element) in javascript. 2007-02-17 16:36:41
Collection of funny programming articles 2006-10-08 14:23:43