php
// 下面就是定义函数来提取数据:
// 处理开始标记的属性指
// $attrs是一个多维数组,键值为属性名, 值就是该属性的值
function startElement( $parser , $element_name , $attrs ){
global $temp , $current_tag ;
$current_tag = $element_name ;
switch ( $element_name ){
case ' ITEM ' :
echo '' ;
break ;
default :
break ;
}
}
// $current_tag告诉我们正在处理的标记,我们随后会在characterData函数中使用
function endElement( $parser , $element_name , $attrs ){
global $temp , $current_tag ;
switch ( $element_name ){
case ' ITEM ' :
return_page( $temp );
$temp = '' ;
break ;
default :
break ;
}
}
// 传送给此函数的是元素间的数据
// 例如,对
function characterData( $parser , $data ){
global $current_tag , $temp , $catID ;
switch ( $current_tag ){
case ' TITLE ' :
$temp [ ' title ' ] = $data ;
$current_tag = '' ;
break ;
case ' LINK ' :
$temp [ ' url ' ] = $data ;
$current_tag = '' ;
break ;
case ' AUTHOR ' :
$temp [ ' author ' ] = $data ;
$current_tag = '' ;
case ' DESCRIPTION ' :
$temp [ ' description ' ] = $data ;
$current_tag = '' ;
default :
break ;
}
}
?>
php
function return_page(){
global $temp ;
echo ' o ' . $temp [ ' title ' ] . '
' ;
}
// 分析的内容,即rrs的未知,可以是网络位置,也可以是文件
$xml_file = ' http://club.sohu.com/list-70th-0-0.xml ' ;
// 定义字符集,默认是UTF-8
//$type = 'UTF-8';
// 建立解析器
$xml_parser = xml_parser_create ();
// 设置解析选项
//xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
//xml_parser_set_option($xml_parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
// 告诉PHP发现元素时要调用什么函数
// 这些函数同时也处理元素的属性
xml_set_element_handler ( $xml_parser , ' startElement ' , ' endElement ' );
// 告诉PHP对字符数据调用什么函数
xml_set_character_data_handler ( $xml_parser , ' characterData ' );
if ( ! ( $fp = fopen ( $xml_file , ' r ' ))) {
die ( " 因网络问题,暂时无法获得数据,请稍候刷新再试 " );
}
// 通过循环来解析整个文件
while ( $data = fread ( $fp , 1024 ))
{
xml_parse ( $xml_parser , $data , feof ( $fp ));
}
fclose ( $fp );
xml_parser_free ( $xml_parser );
?>
另外可以加一段,用来预载网页的javascript的脚本
< SCRIPT LANGUAGE ="JavaScript" >
SCRIPT >
< SCRIPT LANGUAGE ="JavaScript" >
SCRIPT >< style type ="text/css" >
style >
< div id ="ld" style ="position:absolute; left:0px; top:0px; width:100%; height:100%; background-color:#ffffFF; z-index:1000;" >
< br >
< br >< br >< br >< br >< br >< br >< br >< br >< br >< br >< br >
< table align ="center" width ="50%" >
< tr >
< td align ="center" >< font color =#0000ff >< b > SOHU论坛 b > font >< br >
< br >
< font color ="#0000ff" > 正在加载请稍等 … … font > td >
tr >
table >
< table width ="50%" align ="center" border ="0" cellspacing ="1" cellpadding ="0"