當前位置: 首頁> 函數類別大全> xml_set_processing_instruction_handler

xml_set_processing_instruction_handler

設置處理指令(PI)處理程序
名稱:xml_set_processing_instruction_handler
分類:XML解析器
所屬語言:php
一句話介紹:設置處理指令處理程序。

定義和用法

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

必需。指定用作事件處理程序的函數。該函數必須接受三個參數:

  • $parser - 包含調用處理程序的XML 解析器的變量
  • $target - 包含處理指令目標的變量
  • $data - 包含處理指令數據的變量
同類函數
熱門文章