Home | Scripts | Tutorials | Books | Hosting | Forums | Links|

Navigation:

Home
Source code
Tutorials
RSS feeds
Articles
Wordpress plugins
Blog
Books
Software
Downloads
Hosting
manuals
Script directory
Training
Our Links






 
 

SPONSORS



 
 

Retrieve news from Shell City

Here is the code to achieve this

<?php
if( ! ($fp = fopen("http://shellcity.net/citynews.xml" , "r" )) )
die("Couldn't open xml file!");
$item_counter = 0;
$in_item_tag = 0;
$shell_current_tag_state = '';
$shell_headline_data = array();
function startElementHandler( $parser, $element_name, $element_attribs )
{
global $item_counter;
global $in_item_tag;
global $shell_current_tag_state;
global $shell_headline_data;
if( $element_name == "ITEM" )
{
$in_item_tag = 1;
}
if( $in_item_tag == 1 )
{
$shell_current_tag_state = $element_name;
}
else
{
$shell_current_tag_state = '';
}
}
function endElementHandler( $parser, $element_name )
{
global $item_counter;
global $in_item_tag;
global $shell_current_tag_state;
global $shell_headline_data;
$shell_current_tag_state = '';
if( $element_name == "ITEM" )
{
$item_counter++;
$in_item_tag = 0;
}
}
function characterDataHandler( $parser , $data )
{
global $item_counter;
global $in_item_tag;
global $shell_current_tag_state;
global $shell_headline_data;
if( $shell_current_tag_state == '' || $in_item_tag == 0 )
return;
if( $shell_current_tag_state == "TITLE" ) {
$shell_headline_data[$item_counter]["title"] = $data;
}
if( $shell_current_tag_state == "LINK" ) {
$shell_headline_data[$item_counter]["link"] = $data;
}

}
if( !($xml_parser = xml_parser_create()) )
die("Couldn't create XML parser!");

xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler( $xml_parser , "characterDataHandler" );
while( $data = fread($fp, 4096) )
{
if( !xml_parse($xml_parser, $data, feof($fp)) )
{
break; // get out of while loop if we're done with the file
}
}
xml_parser_free($xml_parser);
?>
<HTML>
<HEAD>
<TITLE>Shell City</TITLE>
</HEAD>

<BODY BGCOLOR="#ffffff">

<H3>Shell city</H3>
<BR>
<?php

for( $i=0 ; $i < $item_counter ; ++$i )
{
printf("<A HREF=\"%s\">%s</a><br>\n" , $shell_headline_data[$i]["link"] ,
$shell_headline_data[$i]["title"]
);
}

?>

</BODY>
</HTML>

and here is an example , shellcity news