Crystal Report - Problema recorriendo XML

 
Vista:

Problema recorriendo XML

Publicado por vshow (2 intervenciones) el 31/05/2012 12:33:18
Hola, qué tal.

Soy novato con Crystal Reports y tampoco tengo demasiada experiencia con XML, y me ha surgido el siguiente problema:

Tengo una estructura tal que así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<Padre>
<Hijo nombre="Juan" edad="50">
	<HijoInfs>
		<HijoInf key="100">
			<HijoInfValor>Valor1</HijoInfValor>
			<HijoInf_ID>V1</HijoInf_ID>
		</HijoInf>
		</HijoInf>
	</HijoInfs>
</Hijo>
<Hijo nombre="Pepe" edad="75">
	<HijoInfs>
		<HijoInf key="100">
			<HijoInfValor>Valor2</HijoInfValor>
			<HijoInf_ID>V2</HijoInf_ID>
		</HijoInf>
	</HijoInfs>
</Hijo>
</Padre>


Quiero obtener el nombre de ambos hijos.

Para ello he intentado esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
whileprintingrecords;
stringVar nombre1;
stringVar nombre2;
 
if {Hijo.nombre} = "Juan" then
(
    if {HijoInf.key}="100" then
    (
        nombre1 := {HijoInf.HijoInfValor};
    )
);
 
if {Hijo.nombre} = "Pepe" then
(
    if {HijoInf.key}="100" then
    (
        nombre2 := {HijoInf.HijoInfValor};
    )
);


El problema es que siempre me devuelve los resultados para el último hijo, es decir, {HijoInf.HijoInfValor}, siempre devuelve los resultados del último elemento.

Llevo varias horas y no doy con la solución. ¿Alguna idea?

Muchas gracias ante todo por la lectura.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema recorriendo XML

Publicado por vshow (2 intervenciones) el 31/05/2012 16:29:58
Vale, ya lo tengo.
Por si alguien alguna vez se encuentra en un problema similar, lo arreglé modificando las relaciones entre tablas que se crean cuando las añades al DataSet.

A veces no se generan bien las relaciones entre tablas cuando eliges la opción automática, por lo que hay que crear esas relaciones manualmente. En este caso:

HijoInf.Hijo_Id -> Hijo.Hijo_Id


Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar