xml_get_current_byte_index() 函数获取 XML 解析器的当前字节索引。
xml_get_current_byte_index(parser)
参数 | 描述 |
---|---|
parser | 必需。规定要使用的 XML 解析器。 |
如果 parser 没有指向一个合法的解析器,该函数将返回 false,否则将返回解析器当前在其数据缓冲区中的字节索引(起始值为 0)。
<?php
//无效的 xml 文件
$xmlfile = 'test.xml';
$xmlparser = xml_parser_create();
// 打开文件并读取数据
$fp = fopen($xmlfile, 'r');
while ($xmldata = fread($fp, 4096))
{
// parse the data chunk
if (!xml_parse($xmlparser,$xmldata,feof($fp)))
{
die( print "ERROR: "
. xml_error_string(xml_get_error_code($xmlparser))
. "<br />"
. "Line: "
. xml_get_current_line_number($xmlparser)
. "<br />"
. "Column: "
. xml_get_current_column_number($xmlparser)
. "<br />"
. "Byte Index: "
. xml_get_current_byte_index($xmlparser)
. "<br />");
}
}
xml_parser_free($xmlparser);
?>
输出:
ERROR: Mismatched tag Line: 8 Column: 51 Byte Index: 96