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

xml_parse

開始解析XML文檔
名稱:xml_parse
分類:XML解析器
所屬語言:php
一句話介紹:解析XML 文檔。

定義和用法

xml_parse()函數用於解析XML 文檔。

提示:要創建XML 解析器,請使用xml_parser_create()函數。

實例

例子1

創建一個XML 解析器並解析XML 文檔( note.xml ):

 <?php
// 創建XML 解析器
$parser = xml_parser_create ( ) ;

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

xml_set_character_data_handler ( $parser , "char" ) ;
$fp = fopen ( "note.xml" , "r" ) ;

while ( $data = fread ( $fp , 4096 ) ) {
  // 解析XML 數據
  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 ) ;
?>

運行實例

例子2

使用相同的XML 文件,但以另一種方式顯示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_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_parse ( parser , data , end )
參數 描述
parser 必需。指定要使用的XML 解析器
data 必需。指定要解析的數據。
end

可選。如果設置為TRUE,則data 參數中的數據是本次解析中發送的最後一段數據。

注意:實體錯誤將在解析結束時報告- 並且僅在end 參數為TRUE 時顯示。

同類函數