PHP xml_get_current_byte_index() 函数

定义和用法

xml_get_current_byte_index() 函数获取 XML 解析器的当前字节索引。

语法

  1. xml_get_current_byte_index(parser)
参数 描述
parser 必需。规定要使用的 XML 解析器。

说明

如果 parser 没有指向一个合法的解析器,该函数将返回 false,否则将返回解析器当前在其数据缓冲区中的字节索引(起始值为 0)。

例子

  1. <?php
  2. //无效的 xml 文件
  3. $xmlfile = 'test.xml';
  4.  
  5. $xmlparser = xml_parser_create();
  6.  
  7. // 打开文件并读取数据
  8. $fp = fopen($xmlfile, 'r');
  9. while ($xmldata = fread($fp, 4096))
  10. {
  11. // parse the data chunk
  12. if (!xml_parse($xmlparser,$xmldata,feof($fp)))
  13. {
  14. die( print "ERROR: "
  15. . xml_error_string(xml_get_error_code($xmlparser))
  16. . "<br />"
  17. . "Line: "
  18. . xml_get_current_line_number($xmlparser)
  19. . "<br />"
  20. . "Column: "
  21. . xml_get_current_column_number($xmlparser)
  22. . "<br />"
  23. . "Byte Index: "
  24. . xml_get_current_byte_index($xmlparser)
  25. . "<br />");
  26. }
  27. }
  28.  
  29. xml_parser_free($xmlparser);
  30. ?>

输出:

  1. ERROR: Mismatched tag
  2. Line: 8
  3. Column: 51
  4. Byte Index: 96