• Publicidad

no element found at line 1, column 0, byte -1:

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

no element found at line 1, column 0, byte -1:

Notapor Eowyn » 2013-02-27 05:50 @285

Hola de nuevo. Me ha salido ese error al probar un programa que hace tiempo funcionaba, al menos en Ubuntu antes de cambiar a Debian y de ordenador (que no sé si tendrá que ver, porque no lo controlo nada).

Si no me equivoco significa que no estoy usando ningún archivo xml y da error al tener puesto xml::parser, pero es que ni siquiera me deja introducir ningún archivo.

Como podéis ver, estoy totalmente perdido. ¿Me puede alguien ayudar, por favor? Gracias.
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Publicidad

Re: no element found at line 1, column 0, byte -1:

Notapor explorer » 2013-02-27 06:13 @300

Sin ver el código, es difícil de decir, pero sí, ese mensaje de error es típico de los analizadores XML.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: no element found at line 1, column 0, byte -1:

Notapor Eowyn » 2013-02-27 06:25 @309

Aquí va:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.   GNU nano 2.2.4         Fitxategia: Hash_Taula_Kargatu                        
  2.  
  3. #!/usr/bin/perl
  4. use warnings;
  5. use strict;
  6. use XML::XPath;
  7. use XML::XPath::XMLParser;
  8.  
  9.  
  10.         my @term_arraya1;    
  11.         my @term_arraya2;
  12.          my %Moten_Hash_Taula = ("N.IZE-ARR" => \@term_arraya1,
  13.                             "G.ADJ-ARR" => \@term_arraya2);
  14.          print ("introduce nombre de archivo");
  15.     my $fitxategia = @_;
  16.     chomp ($fitxategia);
  17.     my $FITX = XML::XPath->new(filename => $fitxategia); #irakurri fitxategia;
  18.  
  19.     my $nodeset = $FITX->find('/KAF/terms/term'); # bilatu "term" paragrafoak k$
  20.     my $gakoa;
  21.  
  22.     foreach my $node ($nodeset->get_nodelist) {4
  23.          my $term= XML::XPath::XMLParser::as_string($node); #Nodo horren informa$
  24.  
  25.                 ($gakoa) = $term =~ /pos="(.*?)"/;
  26.                 push (@{ $Moten_Hash_Taula{"$gakoa"} }, $term);
  27.                 my @array = @{ $Moten_Hash_Taula{"N.IZE-ARR"} };
  28.                 print (@array);
  29.     }
  30.  
  31.  
  32.  
  33.                              
  34.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: no element found at line 1, column 0, byte -1:

Notapor explorer » 2013-02-27 06:37 @317

Bueno, se ve claro dónde están los errores:
  • el programa comienza con esta cadena de texto: " GNU nano 2.2.4 Fitxategia: Hash_Taula_Kargatu", así que ya, solo con eso, el sistema ya no lo considera un programa Perl
  • en la línea 15 estás leyendo de '@_', pero eso solo sirve si estás dentro de una función o método. Como en esa parte del programa lo que quieres es leer del teclado, debes cambiarlo por my $fitxategia = <>;
  • hay un '4' suelto en la línea 22

Recuerda que para comprobar la sintaxis de un programa, te vale con ejecutarlo con '-c':

perl -c programa.pl
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: no element found at line 1, column 0, byte -1:

Notapor Eowyn » 2013-02-27 06:50 @326

Bueno, los puntos 1 y 3 no estaban así en el programa, ha sido al hacer el copy paste que se colarían esos datos. Muchísimas gracias.

Ahora no me da el error del título, me da que no encuentra el archivo que le paso aunque está en la misma carpeta que el programa. Pero eso ya es cosa de que habré puesto algo mal en algún lado, porque aparece si lo miro desde el entorno gráfico pero no desde ls -l. Pero muchísimas gracias, de veras.
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: no element found at line 1, column 0, byte -1:

Notapor explorer » 2013-02-27 06:59 @333

Entre las líneas 16 y 17 puedes meter esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if (not -f $fitxategia) {
  2.     die "ERROR: No encuentro el archivo $fitxategia: $!\n";
  3. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 2 invitados