+

PHP Xml_get_current_byte_index () function

Function xml_get_current_byte_index()- is a built-in function in PHP that is used to return the byte index of an XML parser.Syntax:
int xml_get_current_byte_index ( resource $parser)
Parameters:This function takes one required parameter, $xml_parser . This parameter specifies the XML parser to use.Return Values:This function returns the current byte index of the specified parser on success, or False on error.Note.This function is available for PHP 4.0.0 and later.The following programs illustrate the xml_get_current_byte_index() function in PHP:The gfg file .xml (tag mismatch): 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 > < / users > Program 1:  
// Invalid XML file $xml_file = `gfg.xml` ;  
// Initialize the XML parser $xml_parser = xml_parser_create();  
// Open file in read mode $file_pointer = fopen ( $xml_file , ` r` );  
// Read data from the file stream while ( $xml_data = fread ( $file_pointer , 4096)) { // Parse the data block if (! xml_parse ( $xml_parser , $xml_data , feof ( $file_pointer ))) {   // Display error 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: " . // Number of the column 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 xml parser xml_parser_free ( $xml_parser );  
?>
Output:
ERROR: Mismatched tag Error Code: 76 Line: 7 Column: 13 Byte Index: 208
engineer.xml file: xml version = "1.0 encoding =" utf-8 "?> < user > < username > user123 < / username > < name > firstname las tname < / name > < phone > + 91-9876543210 < / phone > < detail > I am John Doe. Live in Kolkata, India. < / detail > < / user > Program 2:  
// Invalid XML file $xml_file = `gfg.xml` ;  
// Initialize the XML parser $xml_parser = xml_parser_create();  
// Open file in read mode $file_pointer = fopen ( $xml_file , ` r` );  
// Read data from the file stream while ( $xml_data = fread ( $file_pointer , 4096)) { // Parse the data block if (! xml_parse ( $xml_parser , $xml_data , feof ( $file_pointer ))) {   // Display error 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: " . // Number of the column 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 xml parser xml_parser_free ( $xml_parser );  
?>
Output:
ERROR: String not closed expecting "or` Error Code: 34 Line: 1 Column: 36 Byte Index: 37
Link: https://www.php.net/manual/en/function.xml-get -current-byte-index.php
Get Solution for free from DataCamp guru