PHP 讀取 RSS

$xml_file='RSS路徑';
$fp = fopen($xml_file,'r');

//使用外部連結時的fread方法
$contents = '';
while (!feof($fp)) {
  $contents .= fread($fp, 8192);
}

//建立一個解析器,編碼不是必要的,這邊設定utf-8
$XmlPr = xml_parser_create('utf-8');

//建立起始和終止元素處理器
xml_set_element_handler($XmlPr,"startElement","endElement");

//建立資料處理器
xml_set_character_data_handler($XmlPr,"characterData");

//開始解析xml檔
$ResXml = xml_parse($XmlPr,$contents);

//起始字完處理器
function startElement($parser, $name, $attrs){
  global $depth, $stack, $tree;
  $stack = strtolower($name);
  if( $stack == 'item' ) $depth++;
}
//終止字完處理器
function endElement($parser, $name){}

//資料處理器
function characterData($parser, $data){
  global $depth, $stack, $tree;
  if(trim($data) != ""){
    $tree[$depth][$stack] = $data;
  }
}

資料參考 : http://blog.hsin.tw/2008/php-parse-xml/

0 Comment:

張貼留言