前提条件: XML基础
xml_error_string()函数是PHP中的内置函数,它返回XML解析器错误描述以生成错误代码。
用法:
string xml_error_string( int $error_code)
参数:该函数接受单个参数$error_code。它指定了从xml_get_error_code()函数生成的XML解析器错误代码。
返回值:此函数针对成功时从xml_get_error_code()生成的指定错误代码返回XML解析器错误描述,如果失败则返回False。
注意:此函数可用于PHP 4.0.0和更高版本。
以下示例程序旨在说明PHP中的xml_error_string()函数:
gfg.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>
程序1:
<?php
// Invalid XML file
$xml_file= 'gfg.xml';
// XML parser initialization
$xml_parser = xml_parser_create();
// Opening the file in read mode
$file_pointer = fopen($xml_file, 'r');
// Reading data from the file stream
while ($xml_data = fread($file_pointer, 4096)) {
// Parsing the data chunk
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 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);
?>
输出:
ERROR:Mismatched tag Error Code:76 Line:7 Column:13 Byte Index:208
geeks.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>
程序2:
<?php
// Invalid XML file
$xml_file= 'geeks.xml';
// XML parser initialization
$xml_parser = xml_parser_create();
// Opening the file in read mode
$file_pointer = fopen($xml_file, 'r');
// Reading data from the file stream
while ($xml_data = fread($file_pointer, 4096)) {
// Parsing the data chunk
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 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);
?>
输出:
ERROR:String not closed expecting " or ' Error Code:34 Line:1 Column:36 Byte Index:37
参考: https://www.php.net/manual/en/function.xml-error-string.php
相关用法
- d3.js d3.lab()用法及代码示例
- PHP exp()用法及代码示例
- PHP Ds\Map put()用法及代码示例
- d3.js d3.hcl()用法及代码示例
- PHP sin( )用法及代码示例
- PHP abs()用法及代码示例
- PHP cos( )用法及代码示例
- PHP tan( )用法及代码示例
- d3.js d3.map.set()用法及代码示例
- PHP next()用法及代码示例
- PHP Ds\Map get()用法及代码示例
- d3.js d3.sum()用法及代码示例
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | xml_error_string() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。