xml_set_processing_instruction_handler
設置處理指令(PI)處理程序
xml_set_processing_instruction_handler()
函數用於指定當解析器在XML 文檔中找到處理指令(PI)時要調用的函數。
處理指令(PI)被包含在<? 和?> 中,並包含一個目標及其數據。
示例:在這種情況下,PI 將一個樣式表與XML 文檔關聯起來:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="default.xsl" type="text/xml"?> < note > < to > Tove </ to > < from > Jani </ from > < heading > Reminder </ heading > < body > Don't forget me this weekend! </ body > </ note >
注意: handler參數也可以是一個包含對象引用和方法名稱的數組。
創建一個XML 解析器,設置字符數據處理程序,設置處理指令(PI)處理程序,並解析XML 文檔(note_pi.xml):
<?php $parser = xml_parser_create ( ) ; function char ( $parser , $data ) { echo $data ; } function pi_handler ( $parser , $target , $data ) { echo "Target: $target <br />" ; echo "Data: $data <br />" ; } xml_set_character_data_handler ( $parser , "char" ) ; // 設置處理指令(PI)處理程序 xml_set_processing_instruction_handler ( $parser , "pi_handler" ) ; $fp = fopen ( "note_pi.xml" , "r" ) ; while ( $data = fread ( $fp , 4096 ) ) { xml_parse ( $parser , $data , feof ( $fp ) ) or die ( sprintf ( "XML 錯誤:%s 在第%d 行" , xml_error_string ( xml_get_error_code ( $parser ) ) , xml_get_current_line_number ( $parser ) ) ) ; } xml_parser_free ( $parser ) ; ?>
運行實例
xml_set_processing_instruction_handler ( parser , handler )
參數 | 描述 |
---|---|
parser | 必需。指定要使用的XML 解析器。 |
handler |
必需。指定用作事件處理程序的函數。該函數必須接受三個參數:
|