读取rrs的php
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 >
SCRIPT >
style >
SOHU论坛 b > font >
正在加载请稍等 … … font > td >
tr >
table >
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。