xml_get_error_code

xml_get_error_code($parser)

Zwraca numer ostatniego błędu parsera albo 0, gdy błędu nie było. Tekst do numeru zwraca xml_error_string(). Pozycję błędu w dokumencie zwracają xml_get_current_line_number() i xml_get_current_column_number().

Parametry

  • $parser – parser.

Przykłady

$parser = xml_parser_create();
xml_parse($parser, "<catalog>\n<product>\n</catalog>", true);
$code = xml_get_error_code($parser);
echo $code; // 76
echo xml_error_string($code) . " w wierszu " . xml_get_current_line_number($parser); // Mismatched tag w wierszu 3

Na co uważać

  • PHP zbudowane z biblioteką libxml2 (zwykła kompilacja) zwraca kody libxml2 (76 = niepasujące znaczniki), które nie pasują do stałych XML_ERROR_* – te pochodzą z biblioteki expat. Porównuj więc tylko z 0, a opis pobieraj przez xml_error_string() (sprawdzone w PHP 7.4 do 8.5).
  • Kod dotyczy parsera XML (rozszerzenie xml). Błędy z SimpleXML i DOM zwraca libxml_get_errors().

Powiązane funkcje:
xml_error_string()
xml_parse()
libxml_get_errors()