Current Location: Home> Function Categories> xml_parse

xml_parse

Start parsing XML documents
Name:xml_parse
Category:XML parser
Programming Language:php
One-line Description:Parses XML documents.

Definition and usage

xml_parse() function is used to parse XML documents.

Tip: To create an XML parser, use xml_parser_create() function.

Example

Example 1

Create an XML parser and parse the XML document ( note.xml ):

 <?php
// Create XML parser
$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 ) ) {
  // parse XML data
  xml_parse ( $parser , $data , feof ( $fp ) ) or
  die ( sprintf ( "XML error: %s on line %d" ,
  xml_error_string ( xml_get_error_code ( $parser ) ) ,
  xml_get_current_line_number ( $parser ) ) ) ;
}

xml_parser_free ( $parser ) ;
fclose ( $fp ) ;
?>

Run the instance

Example 2

Use the same XML file, but display the XML data in another way:

 <?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 error: %s on line %d" ,
xml_error_string ( xml_get_error_code ( $parser ) ) ,
xml_get_current_line_number ( $parser ) ) ) ;
}

xml_parser_free ( $parser ) ;
fclose ( $fp ) ;
?>

Run the instance

grammar

 xml_parse ( parser , data , end )
parameter describe
parser Required. Specify the XML parser to use
data Required. Specifies the data to parse.
end

Optional. If set to TRUE, the data in the data parameter is the last piece of data sent in this parsing.

Note: Entity errors will be reported at the end of parsing - and will only be displayed if the end parameter is TRUE.