PHP | Función xml_get_error_code()

La función xml_get_error_code() es una función incorporada en PHP que se utiliza para devolver el código de error generado por el analizador XML.

Sintaxis: 

int xml_get_error_code( resource $xml_parser )

Parámetros: esta función acepta el único parámetro $xml_parser que es obligatorio. Especifica el analizador XML que se utilizará.
Valor de retorno: esta función devuelve el código de error generado por el analizador XML en caso de éxito o Falso en caso de error.

Nota:  

  • Esta función está disponible para PHP 4.0.0 y versiones posteriores.
  • Es posible que estos ejemplos no funcionen en IDE en línea. Por lo tanto, intente ejecutarlo en un servidor local o en servidores alojados en php.

gfg.xml (Error de etiqueta no coincidente): 

XML

<?xml version="1.0" encoding="utf-8"?>
<user>
    <username> user123 </username>
    <name> firstname lastname </name>
    <phone> +91-9876543210 </phone>
    <detail> I am John Doe. Live in Kolkata, India. </detail>
</user>

Programa 1: 
 

PHP

<?php
 
// XML file containing mismatch tags
$xml_file = 'gfg.xml';
 
// XML parser initialization
$xml_parser = xml_parser_create();
 
// File opening in read mode
$file_pointer = fopen($xml_file, 'r');
  
// Reading data from the file stream
while ($xml_data = fread($file_pointer, 4096)) {
     
    // Parse the data chunk
    if(!xml_parse($xml_parser, $xml_data,
                        feof($file_pointer))) {
         
        // Displaying errors
        die( print "ERROR: " .
         
            // Error string
            xml_error_string(xml_get_error_code($xml_parser)) .
             
            "<br/>Error Code: " .
             
            // Error code
            xml_get_error_code($xml_parser) .
             
            "<br/>Line: " .
             
            // Line number where the error occurred
            xml_get_current_line_number($xml_parser) .
             
            "<br/>Column: " .
             
            // Column number where the error occurred
            xml_get_current_column_number($xml_parser) .
             
            "<br/>Byte Index: " .
             
            // Byte index where the current byte occurred
            xml_get_current_byte_index($xml_parser) . "<br/>"
        );
    }
}
 
// Free to XML parser
xml_parser_free($xml_parser);
 
?>

Producción: 

ERROR: Mismatched tag
Error Code: 76
Line: 7
Column: 13
Byte Index: 208

archivo geeks.xml (Error: la string no está entre comillas dobles): 

XML

<?xml version="1.0 encoding="utf-8"?>
<user>
    <username> user123 </username>
    <name> firstname lastname </name>
    <phone> +91-9876543210 </phone>
    <detail> I am John Doe. Live in Kolkata, India. </detail>
</user>

Programa 2: 

PHP

<?php
 
// XML file containing mismatch tags
$xml_file = 'gfg.xml';
 
// XML parser initialization
$xml_parser = xml_parser_create();
 
// File opening in read mode
$file_pointer = fopen($xml_file, 'r');
  
// Reading data from the file stream
while ($xml_data = fread($file_pointer, 4096)) {
     
    // Parse the data chunk
    if(!xml_parse($xml_parser, $xml_data,
                        feof($file_pointer))) {
         
        // Displaying errors
        die( print "ERROR: " .
         
            // Error string
            xml_error_string(xml_get_error_code($xml_parser)) .
             
            "<br/>Error Code: " .
             
            // Error code
            xml_get_error_code($xml_parser) .
             
            "<br/>Line: " .
             
            // Line number where the error occurred
            xml_get_current_line_number($xml_parser) .
             
            "<br/>Column: " .
             
            // Column number where the error occurred
            xml_get_current_column_number($xml_parser) .
             
            "<br/>Byte Index: " .
             
            // Byte index where the current byte occurred
            xml_get_current_byte_index($xml_parser) . "<br/>"
        );
    }
}
 
// Free to XML parser
xml_parser_free($xml_parser);
 
?>

Producción: 

ERROR: String not closed expecting " or '
Error Code: 34
Line: 1
Column: 38
Byte Index: 37

Referencia: https://www.php.net/manual/en/function.xml-get-error-code.php
 

Publicación traducida automáticamente

Artículo escrito por gekcho y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *