Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-01-2009
Avatar de bone
bone bone is offline
Registrado
 
Registrado: Jan 2009
Posts: 5
Poder: 0
bone Va por buen camino
Cómo puedo leer los datos de este xml!!

Hola a tod@s,
lo primero decir que soy nuevo aquí y he estado buscando por varios sitios pero no he encontrado ninguna posible solución de poder leer este documento xml:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<Event>
<Pepe Angle="1.5437588697563402" Range="7.200984157558928" altitude="380.892" entityID="2003" event="Position" latitude="36.710891754656565" longitude="67.21611066229325" request="0" timestamp="1229331438562"/>
</Event>

Lo mas que me he acercado ha sido a que me muestre el nombre, los demas nodos no se cómo tratarlos, he hecho lo siguiente:

ShowMessage(XML.DocumentElement.ChildNodes[0].NodeName);

Estoy completamente atascado, he probado también ésto:
XML.DocumentElement.ChildNodes[0].ChildNodes[1].NodeName

pero me da el error de "list index out of bound"

Agradezco cualquier tipo de ayuda

Última edición por bone fecha: 21-01-2009 a las 13:00:17.
Responder Con Cita
  #2  
Antiguo 21-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: Dec 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.656
Poder: 27
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Sé bienvenido al ClubDelphi. Me temo que no voy a poder darte una respuesta concreta, sin embargo, tal vez puedas recoger alguna idea de lo siguiente: en realidad lo que estás buscando son "atributos" de un determinado "nodo". Ya estás pudiendo acceder a dicho "nodo", como dices, puedes acceder al nombre de ese "nodo". Pues bien, ese nodo ha de tener "atributos", y estos son en realidad, según se ve, los que contienen los valores que te interesan. Así que no debes buscar "nodos" del "nodo", sino "atributos" del "nodo" en cuestión. Echa un vistazo al resto de propiedades del "nodo", de la misma manera que accedes a su nombre, debes poder acceder a sus "atributos". Lamento no poder decirte otra cosa.
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #3  
Antiguo 21-01-2009
Avatar de bone
bone bone is offline
Registrado
 
Registrado: Jan 2009
Posts: 5
Poder: 0
bone Va por buen camino
Gracias, lo probare y te comento
Responder Con Cita
  #4  
Antiguo 21-01-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.730
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Bueno, conseguir leerlo (y ponerlo en un Grid, por ejemplo) desde Delphi es bastante fácil.

El componente TClientDataset permite leer ficheros XML de disco.
* Graba el contenido en un fichero XML que llanmaremos test.XML.
* Crea un nuevo proyecto delphi y añade los siguientes componentes:
(TDbGrid, TDataSource, TClientDatset y un TXMLTransformProvider -luego veremos para qué...-)

...

NOTA: Creo que acabo antes si grabo cómo se hace y lo ves (por eso de más vale 1 imagen que mil palabras) y además creo que va a ser más rápido.

Una vez que tengas los componentes en el form y el fichero XML, sigue estos pasos. LINK DEMO
(la demo son 3 MG, así que paciencia, tarda un poquito en cargar...)
El fichero de transformación deberá sevir para todos los XML que lleguen con esa estructura.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 21-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: Dec 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.656
Poder: 27
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Joroba, se quejará el compañero... con una película con lo que puede hacer y todo...
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #6  
Antiguo 21-01-2009
Avatar de bone
bone bone is offline
Registrado
 
Registrado: Jan 2009
Posts: 5
Poder: 0
bone Va por buen camino
Lo primero, gracias a ambos por vuestro tiempo y dedicacion.

Neftali, lo que me digiste me ayudó muchisimo, pero ahora me han especificado mejor lo que tengo que hacer y me han pasado el fichero xml completo y tiene unas 700 líneas, o nodos, no estoy muy puesto en ficheros xml, y aparte de eso la carpeta que los contiene tiene también unos 700 xml con la misma estructura.

La cuestión es que lo he probado según tu video, y con tantos no funciona, me aparece el error de: "ERROR: Couldn´t create a transformation", después de hacer los siguientes pasos: tools -> xml mapper -> file -> open -> una vez abierto -> bton derecho -> select all -> create datapacket from xml y el recuadro de datapacket me aparece vacio pero pone arriba <Generated>, pulso el boton de 'create and test transformation' y es cuando me aparece el error abajo en la derecha.

Si se os ocurre alguna forma de solucionarlo, estoy abierto a cualquier sugerencia, ya que me han puesto un plazo muy corto de tiempo para entregarlo, no obstante seguiré investigando la manera de solucionarlo y si encuentro alguna solución la posteare para futuras dudas.

Gracias por vuestro tiempo y un saludo
Responder Con Cita
  #7  
Antiguo 21-01-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.730
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Hola bone.
La verdad es que son pocos datos; Si tener el fichero XML es difícil saber porqué puede estar sucediendo el error; Tal vez por el número de nodos, tal vez por la estructura, tal vez por caracteres raros en el contenido. En realidad puede ser cuelquier cosa.

Si tienes posibilidad de subir ese fichero, súbelo y podemos hacer pruebas.

La otra opción es "parsear" el fichero de forma manual, para ir extrayendo datos. Eso te representará más trabajo y más posibilidad de errores.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 21-01-2009
Avatar de bone
bone bone is offline
Registrado
 
Registrado: Jan 2009
Posts: 5
Poder: 0
bone Va por buen camino
Gracias Neftali, pero mas o menos he conseguido obtener los datos de todos los nodos, es una forma un poco rudimentaria pero funciona, ya que me corre prisa y es una aplicación interna, lo que he hecho es lo siguiente:

un bucle que me recorra todos los nodos y para que me muestre el contenido de los atributos:
XMLDocument.DocumentElement.ChildNodes[i].Attributes['nombreAtributo']

No obstante cuando tenga más tiempo seguiré investigando la forma de obtener los atributos automáticamente.
Siento no poder mandarte el fichero pero son unos datos confidenciales, ya me entiendes, por seguridad.

Gracias por tu ayuda y si descubro algo nuevo lo postearé.

Salu2
Responder Con Cita
  #9  
Antiguo 21-01-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.730
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por bone Ver Mensaje
Siento no poder mandarte el fichero pero son unos datos confidenciales, ya me entiendes, por seguridad.
Ok, era previsible.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 21-01-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: Jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.647
Poder: 12
rgstuamigo Va por buen camino
Arrow

Para trabajar con XML desde Delphi
te aconsejo que mires este tremendo libro de trucos , en la pagina 211 hacia adelante se habla del tema, pues Delphi ya tiene componentes para esto.
Te aconsejo que lo leas completo pues es una mina para aquellos que quieren
aprender.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #11  
Antiguo 22-01-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.730
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Buena recopilación.

Gracias.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 25-01-2011
omarson omarson is offline
Registrado
 
Registrado: Jan 2011
Posts: 3
Poder: 0
omarson Va por buen camino
el link me aparece como roto me podrias pasar de nuevo el link gracias muy buen aporte neftali
el del demo
Responder Con Cita
  #13  
Antiguo 23-02-2011
javierjmartinez javierjmartinez is offline
Registrado
 
Registrado: Feb 2011
Posts: 3
Poder: 0
javierjmartinez Va por buen camino
Thumbs up Busqueda Incremental En Delphi Con Lectura De Archivo Xml

Video que muestra como cargar archivos XML mediante un ClientDataSet para hacer búsquedas incrementales.... puede serles de utilidad; en Dailymotion. No puedo colocarles en enlace, por reglas del foro.

Saludos,

Javier.-
Responder Con Cita
  #14  
Antiguo 23-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.730
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por javierjmartinez Ver Mensaje
No puedo colocarles en enlace, por reglas del foro.
Hola Javier.
Intenta colocar el enlace utilizando alg así: h_t_t_p_:_//enlace_correcto
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #15  
Antiguo 23-02-2011
javierjmartinez javierjmartinez is offline
Registrado
 
Registrado: Feb 2011
Posts: 3
Poder: 0
javierjmartinez Va por buen camino
Thumbs up Sobre La Busqueda Incremental En Delphi Con Lectura De Archivo Xml

Espero que lo vean como un aporte y no me baneen por incumplir las reglas del foro ...

ya que no se me permite, colocar enlaces como el colega me explica:

simplemente van a dailymotion (el sitio de la red de videos en donde mejor se ve el video) y colocan en buscar "BUSQUEDA INCREMENTAL EN DELPHI - VIDEO 01"

Es una secuencia de tres videos, donde se explica como realizar búsquedas incrementales en Delphi con el mínimo de código y leyendo uno de los archivos XML que vienen con la versión 7.

Saludos, colegas.

Javier.-
Responder Con Cita
  #16  
Antiguo 23-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.730
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
He aquí los videos en cuestión:

busqueda-incremental-en-delphi-video-01
busqueda-incremental-en-delphi-video-02
busqueda-incremental-en-delphi-video-03
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #17  
Antiguo 23-02-2011
javierjmartinez javierjmartinez is offline
Registrado
 
Registrado: Feb 2011
Posts: 3
Poder: 0
javierjmartinez Va por buen camino
Thumbs up Saludos, colega Neftali ...

En efecto ... el colega acaba de colocar los enlaces respectivos que no pude colocar, por ser nuevo usuario.

Saludos, estimado Neftalí. Espero los videos sean de utilidad.

Cordial abrazo a la comunidad.

Javier.-
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como puedo hacer este calculo esimon Impresión 2 27-10-2008 15:01:19
¿Como puedo en este foro....? fredo Varios 11 12-08-2005 19:53:03
Como puedo leer un archivo de variable... vicvil Varios 4 10-08-2005 23:31:02
Como puedo ver este campo ??? chele Impresión 1 29-03-2004 17:04:28
Como puedo leer las tablas de una BD *.Dat IcebergDelphi Tablas planas 1 10-12-2003 15:47:22


La franja horaria es GMT +2. Ahora son las 00:25:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi