PHP xml_get_current_byte_index()関数

定義と使用方法

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