parser是php內建的一個用來處理xml的解析器,它的工作由三個事件組成:起始標籤、 讀取資料、結束標籤。
也就是說在對xml進行處理的時候每當遇到起始標籤、資料和結束標籤的時候函數會做對應的動作來完成對xml資料的轉換。
php中xml讀取的相關函數的介紹:
引用:
物件 XML解析函數 描述:
元素 xml_set_element_handler() 元素的開始與結束 字元ler() 外部實體出現
未解析外部實體 xml_set_unparsed_entity_decl_handler() 未解析的外部實體出現
處理指令 xml_set_processing_instruction_handler() 處理指令的出現 記法聲明handler() 其它沒有指定處理函數的事件
下面是一個用parser函數來讀取xml資料的範例:
//建立一個parser編輯器
$parser = xml_parser_create(); 和endElenment
//設立資料讀取時對應的函數
xml_set_character_data_handler($pars, "characterData"); /指定要讀取的xml檔案,可以是url
$filehandler = fopen($xml_file, "r");//開啟檔案
while ($data = fread($filehandler, 4096))) ($data = fread($filehandler, 4096)) parser, $data, feof($filehandler));
}//每次取出4096個位元組進行處理
fclose($filehandler);
//關閉與釋放parser解析器
xml_parser_free($parser); name=false;
$position=false;
//起始標籤事件的函數
function startElement($parser_instance, $element_name, $羅) NAME"){
$name=true;
$position=false;
SITION"){
$name=false;
$position=true;
echo "網址:";
}
}
//讀取資料時的函數
function characterData($parser_instance, $xml_data) if($position)
echo $xml_data. "
";
if($name)
echo $xml_data."
";
}
// p. global $name, $position;
$name=false;
$position=false;
}
?> s>
http://www.php.cn