-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Clare Media wrote: > Guys really in need of some assistance here. > > I am reading an xml file and want to loop through the entire file and > display the information. > > Unfortunately I am only showing 1 item. how can I go about showing all news > item? > > I've tried array and loop however I am not versed with any of them. > > Thanks in advance > > > > > > eg. > > ------------------------------------------------------------------------- > > <item> > > <title>title 1</title> > > <description>Description 1</description> > > </item> > > <item> > > <title>title 2</title> > > <description>Description 2</description> > > </item> > > <item> > > <title>title 3</title> > > <description>Description 3</description> > > </item> > > ------------------------------------------------------------------------- > > > > My current code > > +++++++++++++++++++++++++++++++++ > > function getNews() > > { > > $file = NEWS_FILE.".xml"; > > if(!file_exists($file) || filemtime($file) < > time() - 43200) { > > $this->data = > @file_get_contents("http://feeds.mydomain.com/dailynews"); > > $fp = @fopen($file, 'w'); > > @fwrite($fp, $this->data); > > @fclose($fd); > > } > > else $this->data = > @file_get_contents($file); > > if(strlen($this->data) <= 0) return; > > Count the elements in $this->data = @file_get_contents( $file ); If more then one then loop else use the code below: ex: if( count( $this->data = @file_get_contents( $file ) < 1 ) ) { foreach( $this->data as $key => $value ) { // show your titles etc. } } else { > > // get the location > > $attr = explode('<', $this->tag('item')); > > > $return['title'] = $attr[1]; > > $return['title'] = substr($return['title'], > 6); > > > > $return['description'] = $attr[7]; > > $return['description'] = > substr($return['description'], 2); > > > > return $return; > > } > > > > function view_news() > > { > > > > $currentNews = newsfeed::getNews(); > > > > $NEWS= > '<strong>'.$currentNews['title'].'</strong><br>'.$currentNews['description'] > ..'<br/>'; > > > > return $NEWS; > > > > } > > > > function tag($tag, $skip=0) > > { > > $start = -1; > > for($i = 0; $i <= $skip; $i++) > > $start = strpos($this->data, > "<{$tag}", $start + 1); > > if($start === false) return false; > > $start += strlen($tag) + 1; > > $end = strpos($this->data, "</{$tag}>", > $start); > > if($end === false) > > $end = strpos($this->data, > '/>', $start); > > return trim(substr($this->data, $start, $end > - $start)); > > } > > - -- Jason Gerfen "I practice my religion while stepping on your toes..." ~The Ditty Bops -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHTGMM5vk8bwKVAaIRAhAjAJ9FklveFH1PORVl0HC9nCb+klgcUACeOren RgXSIP0bl/bt9rI6g9a/6Uk= =y9XX -----END PGP SIGNATURE----- -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php