PHP | xml_get_current_line_number() Function
Last Updated :
07 Aug, 2021
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:
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 >
</ users >
|
PHP
<?php
$xml_file = 'gfg.xml' ;
$xml_parser = xml_parser_create();
$file_pointer = fopen ( $xml_file , 'r' );
while ( $xml_data = fread ( $file_pointer , 4096)) {
if (!xml_parse( $xml_parser , $xml_data ,
feof ( $file_pointer ))) {
die ( print "ERROR: " .
xml_error_string(xml_get_error_code( $xml_parser )) .
"<br/>Error Code: " .
xml_get_error_code( $xml_parser ) .
"<br/>Line: " .
xml_get_current_line_number( $xml_parser ) .
"<br/>Column: " .
xml_get_current_column_number( $xml_parser ) .
"<br/>Byte Index: " .
xml_get_current_byte_index( $xml_parser ) . "<br/>"
);
}
}
xml_parser_free( $xml_parser );
?>
|
Output:
ERROR: Mismatched tag
Error Code: 76
Line: 7
Column: 13
Byte Index: 208
geeks.xml file:
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
$xml_file = 'geeks.xml' ;
$xml_parser = xml_parser_create();
$file_pointer = fopen ( $xml_file , 'r' );
while ( $xml_data = fread ( $file_pointer , 4096)) {
if (!xml_parse( $xml_parser , $xml_data ,
feof ( $file_pointer ))) {
die ( print "ERROR: " .
xml_error_string(xml_get_error_code( $xml_parser )) .
"<br/>Error Code: " .
xml_get_error_code( $xml_parser ) .
"<br/>Line: " .
xml_get_current_line_number( $xml_parser ) .
"<br/>Column: " .
xml_get_current_column_number( $xml_parser ) .
"<br/>Byte Index: " .
xml_get_current_byte_index( $xml_parser ) . "<br/>"
);
}
}
xml_parser_free( $xml_parser );
?>
|
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
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...