Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP xml_parser_free() Function



The PHP XML Parser xml_parser_free() function is used to free memory used by an XML parser. The xml_parser_create() method is used to create this parser. After working with the XML data, you can release resources by using xml_parser_free(). It prevents wasted memory, which speeds up the way your app is functioning. This function accepts the parser object as input and is easy to use.

Note: Prior to PHP 8.0.0, in order to prevent memory leaks, it was required to manually unset the reference to parser in addition to calling xml_parser_free() when the parsing process was complete. This was done in case the parser resource was referenced from an object and this object referred the parser resource.

Syntax

Below is the syntax of the PHP XML Parser xml_parser_free() function −

bool xml_parser_free ( XMLParser $xml_parser )

Parameters

This function accepts $xml_parser parameter which is a reference to the XML parser to free.

Return Value

The xml_parser_free() function returns TRUE on success. And FALSE on failure.

PHP Version

Introduced in core PHP 4, the xml_parser_free() function works well with PHP 5, PHP 7, and PHP 8.

Example 1

Here is the basic example of the PHP XML Parser xml_parser_free() function. In this example we will create an XML parser to perform no operations and then frees the parser with the help of xml_parser_free() to show the usage.

<?php
   // Create an XML parser
   $parser = xml_parser_create();

   // Free the XML parser
   if (xml_parser_free($parser)) {
      echo "Parser memory has been freed successfully!";
   } else {
      echo "Failed to free parser memory.";
   }
?>

Output

Here is the outcome of the following code −

Parser memory has been freed successfully!

Example 2

In the below PHP code we will try to use the xml_parser_free() function. And this program parses a basic XML string with the help of xml_parse(). Then checks for successful parsing and frees the parser memory after performing the operation.

<?php
   // Create an XML parser
   $parser = xml_parser_create();

   // Define a simple XML string
   $xmlData = "<root><item>Sample Data</item></root>";

   // Parse the XML data
   if (xml_parse($parser, $xmlData)) {
      echo "XML parsed successfully!";
   } else {
      echo "Failed to parse XML.";
   }

   // Free the XML parser
   xml_parser_free($parser);
?> 

Output

This will generate the below output −

XML parsed successfully!

Example 3

Now we will try to handle the errors which can be occurred before using the xml_parser_free() function. So the below code, parses an invalid XML string and find errors using xml_get_error_code(). Then displays an error message if parsing fails. At last if frees the parser.

<?php
   // Create an XML parser
   $parser = xml_parser_create();

   // Define an incorrect XML string
   $xmlData = "<root><item>Sample Data</item>";

   // Parse the XML data
   if (!xml_parse($parser, $xmlData)) {
      echo "Error in parsing XML: " . xml_error_string(xml_get_error_code($parser));
   } else {
      echo "XML parsed successfully!";
   }

   // Free the XML parser
   xml_parser_free($parser);
?> 

Output

This will create the below output −

XML parsed successfully!
php_function_reference.htm
Advertisements