PHP xml_parse() Function

❮ PHP XML Parser Reference

Example

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

<?php
// Create an 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 at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
}

xml_parser_free($parser);
fclose($fp);
?>
Run Example »

Definition and Usage

The xml_parse() function parses an XML document.

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

Syntax

xml_parse(parser, data, end)

Parameter Values

Parameter Description
parser Required. Specifies 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 parse. Note: Entity errors are reported at the end of the parse - and will only show if the end parameter is TRUE


Technical Details

Return Value: TRUE on success. FALSE on failure
PHP Version: 4.0+

More Examples

Example

Using the same XML file but displaying 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 at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}

xml_parser_free($parser);
fclose($fp);
?>
Run Example »

❮ PHP XML Parser Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.