Function
xml_error_string()- is a built-in function in PHP that returns an XML parser error description for the generated error code.
Syntax:string xml_error_string (int $error_code)
Parameters:This function takes one required parameter,
$error_code . It specifies the XML parser error code that is generated from the xml_get_error_code() function.
Return Values:This function returns an XML parser error description for the specified error code generated from xml_get_error_code ( ) on success and False on error.
Note.This function is available for PHP 4.0.0 and later.The following programs illustrate the xml_error_string ( ) in PHP:
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:
// 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
)).
"
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:
// Invalid XML file
$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 error
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-error-string.php