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

xml_set_unparsed_entity_decl_handler

設置未解析的實體聲明處理程序
名稱:xml_set_unparsed_entity_decl_handler
分類:XML解析器
所屬語言:php
一句話介紹:為未解析的實體聲明設置處理函數。

定義和用法

xml_set_unparsed_entity_decl_handler()函數用於指定當解析器在XML 文檔中遇到未解析實體時要調用的函數。

注意: handler參數也可以是一個包含對象引用和方法名稱的數組。

實例

創建一個XML 解析器,設置字符數據處理程序,設置未解析實體聲明處理程序,並解析XML 文檔:

 <?php
$parser = xml_parser_create ( ) ;

function char ( $parser , $data ) {
  echo $data ;
}

function unparsed_ent_handler ( $parser , $entname , $base , $sysID , $pubID , $notname ) {
  print " $entname <br>" ;
  print " $sysID <br>" ;
  print " $pubID <br>" ;
  print " $notname <br>" ;
}

xml_set_character_data_handler ( $parser , "char" ) ;
// 設置未解析實體聲明處理程序
xml_set_unparsed_entity_decl_handler ( $parser , "unparsed_ent_handler" ) ;

$fp = fopen ( "test.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 ) ;
fclose ( $fp ) ;
?>

文法

xml_set_unparsed_entity_decl_handler ( parser , handler )
參數 描述
parser 必需。指定要使用的XML 解析器
handler

必需。指定當XML 解析器遇到帶有NDATA 聲明的外部實體聲明時要調用的函數。

該函數必須接受六個參數:

  • $parser - 包含調用處理程序的XML 解析器的變量
  • $entity_name - 包含實體名稱的變量
  • $base - 用於解析外部實體的系統標識符(system_id)的基礎。目前,這始終是空字符串
  • $system_id - 外部實體的系統標識符
  • $public_id - 外部實體的公共標識符
  • $notation_name - 此實體的符號名稱
同類函數
熱門文章