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

xml_set_element_handler

設置開始和結束元素處理程序
名稱:xml_set_element_handler
分類:XML解析器
所屬語言:php
一句話介紹:為XML 解析器設置開始和結束元素處理程序。

定義和用法

xml_set_element_handler()函數用於指定在XML 文檔中元素的開始和結束時調用的函數。

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

實例

指定在XML 文檔( note.xml )中元素的開始和結束時調用的函數:

 <?php
$parser = xml_parser_create ( ) ;

function start ( $parser , $element_name , $element_attrs ) {
  switch ( $element_name ) {
    case "NOTE" :
      echo "NOTE<br>" ;
      break ;
    case "TO" :
      echo "To: " ;
      break ;
    case "FROM" :
      echo "From: " ;
      break ;
    case "HEADING" :
      echo "Heading: " ;
      break ;
    case "BODY" :
      echo "Message: " ;
  }
}

function stop ( $parser , $element_name ) {
  echo "<br>" ;
}

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

// 指定在XML 文檔中元素的開始和結束時調用的函數
xml_set_element_handler ( $parser , "start" , "stop" ) ;
xml_set_character_data_handler ( $parser , "char" ) ;
$fp = fopen ( "note.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_element_handler ( parser , start , end )
參數 描述
parser 必需。指定要使用的XML 解析器
start

必需。指定在元素開始時調用的函數。該函數必須具有三個參數:

  • $parser - 包含調用處理程序的XML 解析器的變量
  • $name - 包含觸發此函數的元素名稱的變量,來自XML 文件的字符串
  • $data - 包含來自XML 文件的元素屬性的數組,作為字符串
end

必需。指定在元素結束時調用的函數。該函數必須具有兩個參數:

  • $parser - 包含調用處理程序的XML 解析器的變量
  • $name - 包含觸發此函數的元素名稱的變量,來自XML 文件的字符串
同類函數
熱門文章