Skip to content
Related Articles

Related Articles

PHP | xml_get_current_line_number() Function
  • Last Updated : 16 Oct, 2019

The xml_get_current_line_number() function is an inbuilt function in PHP which is used to return the current line number for an XML parser.

Syntax:

int xml_get_current_line_number( resource $xml_parser )

Parameters: This function accepts a single parameter $xml_parser which is required. It specifies the XML parser which is to be used.

Return Value: This function returns the current line number for the specified parser on which it’s currently running 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 file:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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>

chevron_right


filter_none

edit
close

play_arrow

link
brightness_4
code

<?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 occured
            xml_get_current_line_number($xml_parser) . 
              
            "<br/>Column: "
              
            // Column number where the error occured
            xml_get_current_column_number($xml_parser) .
              
            "<br/>Byte Index: "
              
            // Byte index where the current byte occured
            xml_get_current_byte_index($xml_parser) . "<br/>"
        );
    }
}
  
// Free to XML parser
xml_parser_free($xml_parser);
  
?>

chevron_right


Output:

ERROR: Mismatched tag
Error Code: 76
Line: 7
Column: 13
Byte Index: 208

geeks.xml file:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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>

chevron_right


Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// XML file containing mismatch tags
$xml_file = 'geeks.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 occured
            xml_get_current_line_number($xml_parser) . 
              
            "<br/>Column: "
              
            // Column number where the error occured
            xml_get_current_column_number($xml_parser) .
              
            "<br/>Byte Index: "
              
            // Byte index where the current byte occured
            xml_get_current_byte_index($xml_parser) . "<br/>"
        );
    }
}
  
// Free to XML parser
xml_parser_free($xml_parser);
  
?>

chevron_right


Output:

ERROR: String not closed expecting " or '
Error Code: 34
Line: 1
Column: 36
Byte Index: 37

Reference: https://www.php.net/manual/en/function.xml-get-current-line-number.php

My Personal Notes arrow_drop_up
Recommended Articles
Page :