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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda programación en C sobre archivo .xml
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda programación en C sobre archivo .xml  (Leído 2,080 veces)
Claubn95

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda programación en C sobre archivo .xml
« en: 16 Diciembre 2013, 13:44 pm »

Para mostrar por pantalla los caracteres que se encuentren dentro de los tags englishName del siguiente fichero XML de Facebook, ¿qué debo hacer?

El archivo se encuentra en:
http://www.facebook.com/translations/FacebookLocales.xml

Se supone que debo meter en un array tipo char este archivo .xml, para luego leer dicha variable e imprimir por pantalla la información que se encuentra dentro de esos tags englishName.

Agradecería la ayuda, puesto que llevo días razonándolo y no encuentro la forma de hallar la solución.


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Duda programación en C sobre archivo .xml
« Respuesta #1 en: 16 Diciembre 2013, 13:57 pm »

Pues vas leyendo el archivo, cuando encuentres un <englishName>, entonces empiezas a mostrar por pantalla hasta que encuentre un <.

No sé, esque el algoritmo no tiene más. Otra cosa esque me preguntes como encontrar el <englishName>.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Claubn95

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Duda programación en C sobre archivo .xml
« Respuesta #2 en: 19 Diciembre 2013, 20:51 pm »

Muchas gracias. Es que en este caso se supone que con un if podría encontrar <englishName>. Lo he hecho de esta manera, y me compila pero a la hora de ejecutarlo no hace nada...

#include<stdio.h>
#include<windows.h>
#include<string.h>
int main(void){

char xml[13000]="<locales><locale><englishName>Afrikaans</englishName><codes><code><standard><name>FB</name><representation>af_ZA</representation></standard></code></codes></locale><locale><englishName>Arabic</englishName><codes><code><standard><name>FB</name><representation>ar_AR</representation></standard></code></codes></locale><locale><englishName>Azerbaijani</englishName><codes><code><standard><name>FB</name><representation>az_AZ</representation></standard></code></codes></locale><locale><englishName>Belarusian</englishName><codes><code><standard><name>FB</name><representation>be_BY</representation></standard></code></codes></locale><locale><englishName>Bulgarian</englishName><codes><code><standard><name>FB</name><representation>bg_BG</representation></standard></code></codes></locale><locale><englishName>Bengali</englishName><codes><code><standard><name>FB</name><representation>bn_IN</representation></standard></code></codes></locale><locale><englishName>Bosnian</englishName><codes><code><standard><name>FB</name><representation>bs_BA</representation></standard></code></codes></locale><locale><englishName>Catalan</englishName><codes><code><standard><name>FB</name><representation>ca_ES</representation></standard></code></codes></locale><locale><englishName>Czech</englishName><codes><code><standard><name>FB</name><representation>cs_CZ</representation></standard></code></codes></locale><locale><englishName>Welsh</englishName><codes><code><standard><name>FB</name><representation>cy_GB</representation></standard></code></codes></locale><locale><englishName>Danish</englishName><codes><code><standard><name>FB</name><representation>da_DK</representation></standard></code></codes></locale><locale><englishName>German</englishName><codes><code><standard><name>FB</name><representation>de_DE</representation></standard></code></codes></locale><locale><englishName>Greek</englishName><codes><code><standard><name>FB</name><representation>el_GR</representation></standard></code></codes></locale><locale><englishName>English (UK)</englishName><codes><code><standard><name>FB</name><representation>en_GB</representation></standard></code></codes></locale><locale><englishName>English (Pirate)</englishName><codes><code><standard><name>FB</name><representation>en_PI</representation></standard></code></codes></locale><locale><englishName>English (Upside Down)</englishName><codes><code><standard><name>FB</name><representation>en_UD</representation></standard></code></codes></locale><locale><englishName>English (US)</englishName><codes><code><standard><name>FB</name><representation>en_US</representation></standard></code></codes></locale><locale><englishName>Esperanto</englishName><codes><code><standard><name>FB</name><representation>eo_EO</representation></standard></code></codes></locale><locale><englishName>Spanish (Spain)</englishName><codes><code><standard><name>FB</name><representation>es_ES</representation></standard></code></codes></locale><locale><englishName>Spanish</englishName><codes><code><standard><name>FB</name><representation>es_LA</representation></standard></code></codes></locale><locale><englishName>Estonian</englishName><codes><code><standard><name>FB</name><representation>et_EE</representation></standard></code></codes></locale><locale><englishName>Basque</englishName><codes><code><standard><name>FB</name><representation>eu_ES</representation></standard></code></codes></locale><locale><englishName>Persian</englishName><codes><code><standard><name>FB</name><representation>fa_IR</representation></standard></code></codes></locale><locale><englishName>Leet Speak</englishName><codes><code><standard><name>FB</name><representation>fb_LT</representation></standard></code></codes></locale><locale><englishName>Finnish</englishName><codes><code><standard><name>FB</name><representation>fi_FI</representation></standard></code></codes></locale><locale><englishName>Faroese</englishName><codes><code><standard><name>FB</name><representation>fo_FO</representation></standard></code></codes></locale><locale><englishName>French (Canada)</englishName><codes><code><standard><name>FB</name><representation>fr_CA</representation></standard></code></codes></locale><locale><englishName>French (France)</englishName><codes><code><standard><name>FB</name><representation>fr_FR</representation></standard></code></codes></locale><locale><englishName>Frisian</englishName><codes><code><standard><name>FB</name><representation>fy_NL</representation></standard></code></codes></locale><locale><englishName>Irish</englishName><codes><code><standard><name>FB</name><representation>ga_IE</representation></standard></code></codes></locale><locale><englishName>Galician</englishName><codes><code><standard><name>FB</name><representation>gl_ES</representation></standard></code></codes></locale><locale><englishName>Hebrew</englishName><codes><code><standard><name>FB</name><representation>he_IL</representation></standard></code></codes></locale><locale><englishName>Hindi</englishName><codes><code><standard><name>FB</name><representation>hi_IN</representation></standard></code></codes></locale><locale><englishName>Croatian</englishName><codes><code><standard><name>FB</name><representation>hr_HR</representation></standard></code></codes></locale><locale><englishName>Hungarian</englishName><codes><code><standard><name>FB</name><representation>hu_HU</representation></standard></code></codes></locale><locale><englishName>Armenian</englishName><codes><code><standard><name>FB</name><representation>hy_AM</representation></standard></code></codes></locale><locale><englishName>Indonesian</englishName><codes><code><standard><name>FB</name><representation>id_ID</representation></standard></code></codes></locale><locale><englishName>Icelandic</englishName><codes><code><standard><name>FB</name><representation>is_IS</representation></standard></code></codes></locale><locale><englishName>Italian</englishName><codes><code><standard><name>FB</name><representation>it_IT</representation></standard></code></codes></locale><locale><englishName>Japanese</englishName><codes><code><standard><name>FB</name><representation>ja_JP</representation></standard></code></codes></locale><locale><englishName>Georgian</englishName><codes><code><standard><name>FB</name><representation>ka_GE</representation></standard></code></codes></locale><locale><englishName>Khmer</englishName><codes><code><standard><name>FB</name><representation>km_KH</representation></standard></code></codes></locale><locale><englishName>Korean</englishName><codes><code><standard><name>FB</name><representation>ko_KR</representation></standard></code></codes></locale><locale><englishName>Kurdish</englishName><codes><code><standard><name>FB</name><representation>ku_TR</representation></standard></code></codes></locale><locale><englishName>Latin</englishName><codes><code><standard><name>FB</name><representation>la_VA</representation></standard></code></codes></locale><locale><englishName>Lithuanian</englishName><codes><code><standard><name>FB</name><representation>lt_LT</representation></standard></code></codes></locale><locale><englishName>Latvian</englishName><codes><code><standard><name>FB</name><representation>lv_LV</representation></standard></code></codes></locale><locale><englishName>Macedonian</englishName><codes><code><standard><name>FB</name><representation>mk_MK</representation></standard></code></codes></locale><locale><englishName>Malayalam</englishName><codes><code><standard><name>FB</name><representation>ml_IN</representation></standard></code></codes></locale><locale><englishName>Malay</englishName><codes><code><standard><name>FB</name><representation>ms_MY</representation></standard></code></codes></locale><locale><englishName>Norwegian (bokmal)</englishName><codes><code><standard><name>FB</name><representation>nb_NO</representation></standard></code></codes></locale><locale><englishName>Nepali</englishName><codes><code><standard><name>FB</name><representation>ne_NP</representation></standard></code></codes></locale><locale><englishName>Dutch</englishName><codes><code><standard><name>FB</name><representation>nl_NL</representation></standard></code></codes></locale><locale><englishName>Norwegian (nynorsk)</englishName><codes><code><standard><name>FB</name><representation>nn_NO</representation></standard></code></codes></locale><locale><englishName>Punjabi</englishName><codes><code><standard><name>FB</name><representation>pa_IN</representation></standard></code></codes></locale><locale><englishName>Polish</englishName><codes><code><standard><name>FB</name><representation>pl_PL</representation></standard></code></codes></locale><locale><englishName>Pashto</englishName><codes><code><standard><name>FB</name><representation>ps_AF</representation></standard></code></codes></locale><locale><englishName>Portuguese (Brazil)</englishName><codes><code><standard><name>FB</name><representation>pt_BR</representation></standard></code></codes></locale><locale><englishName>Portuguese (Portugal)</englishName><codes><code><standard><name>FB</name><representation>pt_PT</representation></standard></code></codes></locale><locale><englishName>Romanian</englishName><codes><code><standard><name>FB</name><representation>ro_RO</representation></standard></code></codes></locale><locale><englishName>Russian</englishName><codes><code><standard><name>FB</name><representation>ru_RU</representation></standard></code></codes></locale><locale><englishName>Slovak</englishName><codes><code><standard><name>FB</name><representation>sk_SK</representation></standard></code></codes></locale><locale><englishName>Slovenian</englishName><codes><code><standard><name>FB</name><representation>sl_SI</representation></standard></code></codes></locale><locale><englishName>Albanian</englishName><codes><code><standard><name>FB</name><representation>sq_AL</representation></standard></code></codes></locale><locale><englishName>Serbian</englishName><codes><code><standard><name>FB</name><representation>sr_RS</representation></standard></code></codes></locale><locale><englishName>Swedish</englishName><codes><code><standard><name>FB</name><representation>sv_SE</representation></standard></code></codes></locale><locale><englishName>Swahili</englishName><codes><code><standard><name>FB</name><representation>sw_KE</representation></standard></code></codes></locale><locale><englishName>Tamil</englishName><codes><code><standard><name>FB</name><representation>ta_IN</representation></standard></code></codes></locale><locale><englishName>Telugu</englishName><codes><code><standard><name>FB</name><representation>te_IN</representation></standard></code></codes></locale><locale><englishName>Thai</englishName><codes><code><standard><name>FB</name><representation>th_TH</representation></standard></code></codes></locale><locale><englishName>Filipino</englishName><codes><code><standard><name>FB</name><representation>tl_PH</representation></standard></code></codes></locale><locale><englishName>Turkish</englishName><codes><code><standard><name>FB</name><representation>tr_TR</representation></standard></code></codes></locale><locale><englishName>Ukrainian</englishName><codes><code><standard><name>FB</name><representation>uk_UA</representation></standard></code></codes></locale><locale><englishName>Vietnamese</englishName><codes><code><standard><name>FB</name><representation>vi_VN</representation></standard></code></codes></locale><locale><englishName>Simplified Chinese (China)</englishName><codes><code><standard><name>FB</name><representation>zh_CN</representation></standard></code></codes></locale><locale><englishName>Traditional Chinese (Hong Kong)</englishName><codes><code><standard><name>FB</name><representation>zh_HK</representation></standard></code></codes></locale><locale><englishName>Traditional Chinese (Taiwan)</englishName><codes><code><standard><name>FB</name><representation>zh_TW</representation></standard></code></codes></locale></locales>";
int i;


for(i=0; i<11984; i++){
    if((xml>"<englishName>")&&(xml<"</englishName>")){
        printf("%c", xml);}
    }
   
    system("PAUSE");
}
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Duda programación en C sobre archivo .xml
« Respuesta #3 en: 19 Diciembre 2013, 22:33 pm »

Primero: No necesitas la librería Windows.h
Segundo: Esto no tiene ningún sentido:
Código
  1. if((xml>"<englishName>")&&(xml<"</englishName>"))

Te compila porque el compilador interpetra que estas comparando dirrecciones de memoria (las cadenas de texto se identifican con dirreciones de memoria).

Lo más probable esque te ponga algun warning por hacer esto, porque es muy raro comparar dirreciones de memoria con > y <.

Tienes que leer las palabras caracter a caracter, a no ser que te ayudes con alguna función externa  :silbar:
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Duda programación en C sobre archivo .xml
« Respuesta #4 en: 20 Diciembre 2013, 14:18 pm »

Expresiones regulares, es lo que tienes que usar.

Saludos.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda sobre subtitulos en un archivo de avi
Multimedia
r-i-c-a-r-d-o 1 1,470 Último mensaje 12 Enero 2006, 06:00 am
por aNexos
Programacion J2ME: duda sobre destroyApp
Java
slackbyte 3 4,816 Último mensaje 9 Mayo 2009, 16:48 pm
por jwuo3161
[?] Duda sobre 2 lenguaje programacion
Programación General
yoxter 1 2,073 Último mensaje 1 Junio 2012, 06:21 am
por [Case]
Duda sobre grado medio de programacion
Foro Libre
Senior++ 8 5,803 Último mensaje 25 Junio 2013, 17:16 pm
por Senior++
Duda sobre programación de un RAT
Análisis y Diseño de Malware
Doukuest 1 2,514 Último mensaje 19 Agosto 2018, 22:36 pm
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines