ГЛАВА 14. РНР и XML
Другие полезные функции
В РНР также существуют другие функции, упрощающие процесс обработки кода XML.
utf8_decode()
Функция преобразует данные в кодировку ISO-8859-1. Предполагается, что преобразуемые данные находятся в кодировке UTF-8. Синтаксис:
string utf8_decode(string данные)
Параметр данные содержит преобразуемые данные в кодировке UTF-8.
utf8_encode()
Функция преобразует данные из кодировки ISO-8859-1 в кодировку UTF-8. Синтаксис:
string utf8_decode(string данные)
Параметр данные содержит преобразуемые данные в кодировке ISO-8859-1.
xml_get_error_code()
Функция xm1_get_error_code() получает код ошибки, возникшей в процессе обработки XML. Код ошибки передается функции xml_error_string()(см. ниже) для интерпретации. Синтаксис:
int xml_error_code(int анализатор)
Параметр функции определяет анализатор XML. Пример использования приведен ниже, в описании функции xml_get_current_line_number().
xml_error_string()
Ошибкам, возникающим в процессе анализа кода XML, присваиваются числовые коды. Функция xml_error_string() возвращает текстовое описание ошибки по ее коду. Синтаксис:
string xml_error_string(int код)
В параметре функции передается код ошибки(вероятно, полученный при вызове функции xml_get_error_code()). Пример использования функции приведен ниже, в описании функции xml_get_current_line_number().
xml_get_current_line_number()
Функция возвращает номер текущей строки, обрабатываемой анализатором XML. Синтаксис:
int xml_get_current_line_number(int анализатор)
Параметр функции определяет анализатор XML. Пример использования функции:
while($line - fread($fh. 4096)) :
if(! xml_parse($xml_parser, $line, feof($fh))) :
$err_string - xml_error_string(xml_get_error_code($xml_parser));
$line_number - xml_get_current_line_number($xml_parser);
print "Error! [Line Sline_number]: $err_string";
endif;
endwhile;
Например, если ошибка была обнаружена в шестой строке файла, определяемого манипулятором $fh, сообщение будет выглядеть примерно так:
Error! [Line 6]:mi snatched tag
xml_get_current_column_number()
Функция xml_get_current_colunin_number() может использоваться в сочетании с xml_get_current_line_number() для определения точного местонахождения ошибки в документе XML. Синтаксис:
int xml_get_current_column_number(int анализатор)
Параметр функции определяет анализатор XML. Давайте усовершенствуем предыдущий пример:
while($line = fread($fh. 4096)) :
if(! xml_parse($xml_parser, $line, feof($fh))):
$err_string = xml_error_string(xml_get_error_code($xml_parser));
$line_number = xml_get_current_line_number($xml_parser);
$column_number = xml_get_current_column_number($xml_parser)
print "Error! [Line $line_nuimber, Column $column_number]: $err_string";
endif;
endwhile;
Например, если ошибка была обнаружена в шестой строке файла, определяемого манипулятором $fh, сообщение будет выглядеть примерно так:
Error! [Line 6 Column 2]:mismatched tag
Назад |
Содержание раздела |
Общее Содержание |
Вперед
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|