PHP | xml_get_error_code() Function
Last Updated :
07 Aug, 2021
Improve
The xml_get_error_code() function is an inbuilt function in PHP which is used to return the error code generated by XML parser.
Syntax:
int xml_get_error_code( resource $xml_parser )
Parameters: This function accepts single parameter $xml_parser which is required. It specifies the XML parser which is to be use.
Return Value: This function returns the error code generated by the XML parser on success or False on failure.
Note:
- This function is available for PHP 4.0.0 and newer version.
- These examples may not work on online IDE. So, try to run it on local server or php hosted servers.
gfg.xml (Mismatched tag error):
- XML
XML
<? xml version = "1.0" encoding = "utf-8" ?> < user > < username > user123 </ username > < name > firstname lastname </ name > < phone > +91-9876543210 </ phone > < detail > I am John Doe. Live in Kolkata, India. </ detail > </ user > |
Program 1:
- PHP
PHP
<?php // XML file containing mismatch tags $xml_file = 'gfg.xml' ; // XML parser initialization $xml_parser = xml_parser_create(); // File opening in read mode $file_pointer = fopen ( $xml_file , 'r' ); // Reading data from the file stream while ( $xml_data = fread ( $file_pointer , 4096)) { // Parse the data chunk if (!xml_parse( $xml_parser , $xml_data , feof ( $file_pointer ))) { // Displaying errors die ( print "ERROR: " . // Error string xml_error_string(xml_get_error_code( $xml_parser )) . "<br/>Error Code: " . // Error code xml_get_error_code( $xml_parser ) . "<br/>Line: " . // Line number where the error occurred xml_get_current_line_number( $xml_parser ) . "<br/>Column: " . // Column number where the error occurred xml_get_current_column_number( $xml_parser ) . "<br/>Byte Index: " . // Byte index where the current byte occurred xml_get_current_byte_index( $xml_parser ) . "<br/>" ); } } // Free to XML parser xml_parser_free( $xml_parser ); ?> |
Output:
ERROR: Mismatched tag Error Code: 76 Line: 7 Column: 13 Byte Index: 208
geeks.xml file (Error: string not enclosed in double quotes):
- XML
XML
<? xml version = "1.0 encoding=" utf-8"?> < user > < username > user123 </ username > < name > firstname lastname </ name > < phone > +91-9876543210 </ phone > < detail > I am John Doe. Live in Kolkata, India. </ detail > </ user > |
Program 2:
- PHP
PHP
<?php // XML file containing mismatch tags $xml_file = 'gfg.xml' ; // XML parser initialization $xml_parser = xml_parser_create(); // File opening in read mode $file_pointer = fopen ( $xml_file , 'r' ); // Reading data from the file stream while ( $xml_data = fread ( $file_pointer , 4096)) { // Parse the data chunk if (!xml_parse( $xml_parser , $xml_data , feof ( $file_pointer ))) { // Displaying errors die ( print "ERROR: " . // Error string xml_error_string(xml_get_error_code( $xml_parser )) . "<br/>Error Code: " . // Error code xml_get_error_code( $xml_parser ) . "<br/>Line: " . // Line number where the error occurred xml_get_current_line_number( $xml_parser ) . "<br/>Column: " . // Column number where the error occurred xml_get_current_column_number( $xml_parser ) . "<br/>Byte Index: " . // Byte index where the current byte occurred xml_get_current_byte_index( $xml_parser ) . "<br/>" ); } } // Free to XML parser xml_parser_free( $xml_parser ); ?> |
Output:
ERROR: String not closed expecting " or ' Error Code: 34 Line: 1 Column: 38 Byte Index: 37
Reference: https://www.php.net/manual/en/function.xml-get-error-code.php