Syntax:int xml_get_current_column_number (resource $xml_parser)
Parameters:This function takes one required parameter,
$xml_parser . This parameter contains a reference to the XML parser from which the column number is obtained.
Return Value:This function returns the column number in which the specified xml parser is currently running in case success or False on failure.
Notes : - This feature is available for PHP 4.0.0 and above.
- These examples may not work in the online IDE. So, try running it on your local server or on the php hosts.
gfg.xml file: 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:
// XML file containing mismatch tags
$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 errors
die
( print
"ERROR:"
.
// Error string
xml_error_string (xml_get_error_code (
$xml_parser
)).
"
Error Code: "
.
// Error code
xml_get_error_code (
$xml_parser
).
"
Line: "
.
// Line number where the error occurred
xml_get_current_line_number (
$xml_parser
).
"
Column: "
.
// Number of the column where the error occurred
xml_get_current_column_number (
$xml_parser
).
"
Byte Index: "
.
// Byte index where the current byte occurred
xml_get_current_byte_index (
$xml_parser
).
"
"
);
}
}
// 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:
// XML file containing mismatch tags
$xml_file
=
’engineer.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 errors
die
( print
"ERROR:"
.
// Error string
xml_error_string (xml_get_error_code (
$xml_parser
)).
"
Error Code: "
.
// Error code
xml_get_error_code (
$xml_parser
).
"
Line: "
.
// Line number where the error occurred
xml_get_current_line_number (
$xml_parser
).
"
Column: "
.
// Number of the column where the error occurred
xml_get_current_column_number (
$xml_parser
).
"
Byte Index: "
.
// Byte index where the current byte occurred
xml_get_current_byte_index (
$xml_parser
).
"
"
);
}
}
// 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-column-number.php