Foros del Web » Programación para mayores de 30 ;) » Programación General »

Java-XML-Castor

Estas en el tema de Java-XML-Castor en el foro de Programación General en Foros del Web. Hola a tod@s, Estoy trabajando con Java-XML, para algunas cosas he de usar Castor, pero no es de lo que os quiero preguntar. Antes os ...
  #1 (permalink)  
Antiguo 02/01/2008, 14:45
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Java-XML-Castor

Hola a tod@s,

Estoy trabajando con Java-XML, para algunas cosas he de usar Castor, pero no es de lo que os quiero preguntar. Antes os pongo a modo de ejemplo un xml(absurdo) similar al que tengo.

<Dios>
<Adan>
<Hijos>
<Vivos>
<Nombre>Isaac</Nombre>
<ColorOjos>Verdes</ColorOjos>
<ColorPelo>Castaño</ColorPelo>
<Nombre>Paris</Nombre>
<ColorOjos>Verdes</ColorOjos>
<ColorPelo>Castaño</ColorPelo>
</Vivos>
</Hijos>
</Adan>
<Eva>
<Hijos>
<Vivos>
<Nombre>Jose</Nombre>
<ColorOjos>Azules</ColorOjos>
<ColorPelo>Rubio</ColorPelo>
<Nombre>Marta</Nombre>
<ColorOjos>Oscuros</ColorOjos>
<ColorPelo>Castaño</ColorPelo>
</Vivos>
<Fallecidos>
<Nombre>Miriam</Nombre>
<ColorOjos>Verdes</ColorOjos>
<ColorPelo>Castaño</ColorPelo>
<Nombre>Dorian</Nombre>
<ColorOjos>Azules</ColorOjos>
<ColorPelo>Castaño</ColorPelo>
</Fallecidos>
</Hijos>
</Eva>
</Dios>

Lo que tengo que hacer es:

1)Mostrar en un árbol el xml de arriba, pero con la condición de que no se pueden mostrar los valores/elementos ColorOjos y ColorPelo.
2)Al pulsar sobre una "leaf" Nombre X (e.j:Miriam), en la parte izquierda debería mostrarme el valor correspondiente a ColorOjos y ColorPelo.

¡Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 04/01/2008, 09:59
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 23 años, 1 mes
Puntos: 90
Re: Java-XML-Castor

Si lo necesitas hacer en un navegador podés usar XSLT

puedes parsear la info de tu XML en el navegador y mostrar las etiquetas que quieras de la forma que quieras :)
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 04/01/2008, 10:12
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Java-XML-Castor

Hola, gracias por responder, la verdad es que no necesito mostrarle en un navegador. El xml que puse arriba esta mal, este es el correcto:

Código:
<Dios>
	<Adan>
		<Hijos>
			<Vivos>
				<Nombre>Isaac</Nombre>
				<Caracteristicas>
						<ColorOjos>Verdes</ColorOjos>
						<ColorPelo>Castaño</ColorPelo>
				</Caracteristicas>
				<Nombre>Paris</Nombre>
				<Caracteristicas>
						<ColorOjos>Verdes</ColorOjos>
						<ColorPelo>Castaño</ColorPelo>
				</Caracteristicas>
			</Vivos>
		</Hijos>
	</Adan>
	<Eva>
		<Hijos>
			<Vivos>
				<Nombre>Jose</Nombre>
				<Caracteristicas>
						<ColorOjos>Azules</ColorOjos>
						<ColorPelo>Rubio</ColorPelo>
				</Caracteristicas>
				<Nombre>Marta</Nombre>
				<Caracteristicas>
						<ColorOjos>Oscuros</ColorOjos>
						<ColorPelo>Castaño</ColorPelo>
				</Caracteristicas>
			</Vivos> 
			<Fallecidos>
				<Nombre>Miriam</Nombre>
				<Caracteristicas>
					<ColorOjos>Verdes</ColorOjos>
					<ColorPelo>Castaño</ColorPelo>
				</Caracteristicas>
				<Nombre>Dorian</Nombre>
				<Caracteristicas>
					<ColorOjos>Azules</ColorOjos>
					<ColorPelo>Castaño</ColorPelo>
				</Caracteristicas>
			</Fallecidos>
		</Hijos>
El primer 1 lo he resuelto, haciendo:

if( (children != null )&& !root.getNodeName().equals("Caracteristicas"))
//Para que no cuente sus hijos
{
numChildren = children.getLength();

for (int i=0; i < numChildren; i++)
{
node = children.item(i);
if( node != null && !node.getNodeName().equals("Caracteristicas"))
//Para que no me los pinto como hojas
{
...

Ahora sólo me queda resolver el segundo punto.

Chaup
  #4 (permalink)  
Antiguo 04/01/2008, 10:14
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Java-XML-Castor

En el segundo punto: Debería mostrar en una Textarea o TextField los datos ColorOjos y ColorPelo de la persona sobre la que se hace click
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:39.