• Publicidad

Modificar el contenido de un nodo XML

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

Modificar el contenido de un nodo XML

Notapor xagutxu_perez » 2008-06-20 07:45 @364

Hola a todos:

Estoy utilizando el módulo LibXML, y no encuentro el modo de reemplazar el contenido de un nodo. Tengo:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. <tokens> 
  2. <w id="w1" tokentype="HAS_MAI"> 
  3. <anbtal talde_zenb="13"> 
  4. <tamaina>002</tamaina> 
  5. <C>1</C> 
  6. <X>0</X> 
  7. <GALD>0</GALD> 
  8. </anbtal> 
  9. </w> 
  10. ... 
  11. </tokens> 


Y si hago (teniento en $contenido = "XXX"):

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
...
        foreach my $anbtal ($word->findnodes("anbtal")){
                        foreach my $correct ($anbtal->findnodes("C")){
                                $correct->appendText($contenido);
                        }
        }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Obtengo que el nodo "C" cambia a "1XXX":

Sintáxis: [ Descargar ] [ Ocultar ]
  1. <tokens> 
  2. <w id="w1" tokentype="HAS_MAI"> 
  3. <anbtal talde_zenb="13"> 
  4. <tamaina>002</tamaina> 
  5. <C>1XXX</C> 
  6. <X>0</X> 
  7. <GALD>0</GALD> 
  8. </anbtal> 
  9. </w> 
  10. ... 
  11. </tokens> 


O sea, que no me reemplaza, sino que añade. He estado probando con diferentes métodos, pero no consigo hacerlo. ¿Alguien sabe cómo?

Gracias,

Xagutxu
xagutxu_perez
Perlero nuevo
Perlero nuevo
 
Mensajes: 43
Registrado: 2008-04-04 03:56 @206

Publicidad

Notapor monoswim » 2008-06-20 08:23 @391

appendText($contenido)

append es agregar...

seguramente haya otra función para reemplazar el contenido...

saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor explorer » 2008-06-20 10:37 @484

Creo que tienes que usar el método setData().

XML::LibXML::Text
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

Notapor chechoman » 2008-07-12 11:47 @532

Hola, sigo en la búsqueda de ver cómo hacer para que Perl me lea un XML que tiene un dato con 'ñ', 'Ñ' y palabras con acentos.

Cada vez que corro la aplicación me indica un error de que no puede leerlos, ¿alguien sabe cómo se puede hacer para que el programa en Perl pueda leer estos caracteres del XML?
Gracias
chechoman
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2008-07-02 11:14 @510

Notapor explorer » 2008-07-12 12:25 @559

Quizás el problema sea codificación... Los xml suelen estar escritos en utf8, que es la codificación por defecto, pero se puede cambiar a otra, que tendrían indicadas en la cabecera.

Perl no tiene ningún problema en leer los ficheros siempre y cuando estén bien escritos.

Sería interesante ver un trozo del programa y un xml de ejemplo y el error que te sale.
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

Notapor chechoman » 2008-07-12 12:48 @575

Hola. Coloqué el problema más detallado en este otro tema:
viewtopic.php?p=13471#13471
chechoman
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2008-07-02 11:14 @510


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados