elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  parsear un xml ,en c puro , Recomendaciones ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: parsear un xml ,en c puro , Recomendaciones ?  (Leído 1,797 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
parsear un xml ,en c puro , Recomendaciones ?
« en: 29 Mayo 2015, 11:41 am »

hola a todos !!
Disculpen a este novato que tiene este foro a mil con tatnas preguntas pero de verdad me interesa aprender
y gracias a ustedes lo estoy logrando , bueno ahora lo que quiero es partsear un xml  ose eleminar un tag en algun sitio dentro del documento. yo se que me haran un pregunta , despues de ver el codigo , estoy en un entorno donde solo tengo open, write ,read y close de unix  el programa compila pero me da segmentation fault (core dumped ) , me pasa muy a menudo pero esta vez cuando trato de leer la cantidad de bytes con read que deberia. bueno pongo el codigo a ver si me doy a entender.
este seria el xml
Código
  1. <xml>
  2. <tag>
  3.  m texyo de be ser
  4. ffgfgf
  5. fgfhfhfh
  6. hf hhf hf hf hfh
  7. gh hghg gh ghghg
  8. gh ghgh
  9. </tag>
  10. </xml>


luego el codigo en c
Código
  1. #include <fcntl.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. int main(int argc ,char argv[])
  6. {
  7.   int bucle =0;
  8.   char *pbuffer={'\0'};
  9.   int file = open("s.xml", O_RDONLY);
  10.   if(file < 0){
  11.      printf("Error Abriendo el fichero \n");
  12.      exit(1);///salida de error
  13.    }else{
  14.  
  15.     pbuffer = NULL;
  16.     int r = read(file, 1024);
  17.     printf("cantidad de bytes leidos :\n %d", r);
  18.     close(file);  
  19.     char *sin= strstr(pbuffer, "<tag>");
  20.     pbuffer = NULL;
  21.     while(sin[5+bucle] != '<')
  22.     {
  23.       strncat(pbuffer, &sin[5+bucle],1);
  24.        bucle++;
  25.     }  
  26.  
  27.     int s2 = open("copia.xml", O_WRONLY|O_TRUNC);
  28.     if(s2 < 0){
  29.       printf("Error @");
  30.      int d=  write(sin, 1024);
  31.      printf("cantidad de bytes escritos : %d", d);
  32.      close(s2);
  33.     }
  34.    }///else??
  35.  
  36.  
  37. }


segun la documentacion de unix ,cuando trate de leer o escribir tantos n-bytes en el o desde el buffer y tengas disponible menos eso es lo que te devolvera o me equivoco ?
gracias de anteamano. igual quisiera leer una estructura completa pero esta fuera del scope ahora me preocupa ese error.


« Última modificación: 29 Mayo 2015, 13:44 pm por bash » En línea

gracias por responder mis dudas
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: parsear un xml ,en c puro , Recomendaciones ?
« Respuesta #1 en: 29 Mayo 2015, 14:09 pm »

   lseek(data1, 1, SEEK_CUR);
       lectura = read(data1,buffer, 1);
       if(lectura == -1 || lectura == 0){
          sp_debug(("o se llego al final del fichero o hay un error de lectura"));
       }else sp_debug(("cantidad de bytes leidos en la lectura es : %d", lectura));
        strncat(&bufferEscritura, &buffer[indice], 1);
        indice++;
         esc = write(data2, &bufferEscritura, 1);
         sp_debug(("bytes Escritos"));
         lseek(data2, 1, SEEK_CUR);
    }


En línea

gracias por responder mis dudas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Parsear con PHP Simple HTML DOM
PHP
multi-media asdfg 5 6,392 Último mensaje 16 Julio 2011, 01:20 am
por multi-media asdfg
Parsear HTML ayuda !!!
.NET (C#, VB.NET, ASP)
TrashAmbishion 4 3,056 Último mensaje 8 Julio 2012, 18:50 pm
por TrashAmbishion
Parsear HTML
.NET (C#, VB.NET, ASP)
spiritdead 2 2,920 Último mensaje 26 Diciembre 2012, 23:55 pm
por spiritdead
parsear un XML
PHP
Servia 0 1,703 Último mensaje 18 Mayo 2013, 14:41 pm
por Servia
Parsear código HTML en Vb.net
.NET (C#, VB.NET, ASP)
#Aitor 2 4,059 Último mensaje 28 Junio 2014, 04:02 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines