XML - Duplicar Etiquetas en XML

 
Vista:

Duplicar Etiquetas en XML

Publicado por Ana (4 intervenciones) el 01/06/2007 12:17:03
Buenas!!! es la primera vez que me meto en este foro, pero llevo un tiempo buscando alguna solucion para el problema que tengo y no encuentro nada asi que ... preguntando se llega a roma xDD

Quería que alguien me explicara por que teniendo un fichero XML con etiquetas duplicadas, al cargarlo en mi proyecto no salen las duplicadas. Necesito poder duplicar las etiquetas tantas veces como me sea necesario.

Alguien puede echarme una mano?????????

Gracias y espero respuestas
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

RE:Duplicar Etiquetas en XML

Publicado por Mukuykak (59 intervenciones) el 03/06/2007 07:52:28
Saludos, Ana:

No indicas cómo visualizas tu archivo .xml, si en el mismo tienes definido el .dtd o si
lo parseas con algún lenguaje de programación en particular.
Yo en lo particular uso xml para crear páginas web y comunicarlo con Flash, pero
te puedo dar una pista.
Quizá tengas un .dtd definiendo el .xml y tal vez no pusiste la orden que permite
tener más de una etiqueta con el mismo nombre dentro del .xml.
Por ejemplo:

Si en tu dtd defines:

<|ELEMENT raiz (tronco)>
<!ELEMENT tronco( rama)>
<!ELEMENT rama (#PCDATA)>

Podrás notar que el root o padre, es "raiz";
"raiz", tiene un sólo hijo o nodo de nombre "tronco";
y "tronco" tiene un hijo o subnodo "rama".
"rama" sólo contiene información.

Si en el dtd no defines algún indicador de frecuencia para el subnodo "rama",
al visualizarlo sólo podrás ver una sola etiqueta <rama>.

En cambio, si escribes el siguiente dtd:

<!ELEMENT raiz (tronco)>
<!ELEMENT tronco (rama*)>
<!ELEMENT rama (#PCDATA)>

Notarás que el .dtd es muy parecido al primero, pero cambia en el elemento "tronco".
Dentro de "tronco" hay un subnodo "rama" con un indicador de frecuencia, el cual
es simbolizado por un asterisco ( * ). Esto quiere decir que puede haber uno o más
subnodos del tipo <rama>, y que si tú visualizas tu xml en el navegador, podrás ver
todas las etiquetas que en el primer ejemplo no podías visualizar.

Como hice notar al principio, no indicas cómo estás visualizando o parseando tu
archivo, espero que esto sea lo que te pasa.

Que tengas un buen día =0)
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

RE:Duplicar Etiquetas en XML

Publicado por Ana (4 intervenciones) el 04/06/2007 11:22:52
Mukuykak muchas gracias por tu explicacion =)
Perdona por la falta de datos pero es mi primera intrusion en este mundillo. No me he fijado demasiado en la sintaxis.
Creo el fichero en el notepad con el dtd en el mismo fichero. Luego creo el xls en ejecucion del proyecto que esta echo en c# y de ahi cargo el xml.
He probado a hacerlo como me dices tu y mirando el codigo en el xls si que sale el duplicado pero al cargar el xml no lo muestra. Parece que lo elimina. te paso lo que tengo echo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plantilla [
<!ELEMENT plantilla (Nombre)*>
<!ELEMENT Nombre (#PCDATA)>
]>
<plantilla xmlns="plantilla">
<plantilla>
<Nombre>Nombre</Nombre>
</plantilla>
</plantilla>

el campo que quiero repetir es nombre. no se si es que la sintaxis es incorrecta o que... =(

Si me puedes echar una mano.... te lo agradeceria mucho!!!
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

RE:Duplicar Etiquetas en XML

Publicado por Mukuykak (59 intervenciones) el 05/06/2007 03:58:52
Saludos, Ana:

El error es que estás duplicando el elemento raíz (plantilla), y en un xml sólo puede
haber una raíz o padre. Puedes tener toda la cantidad de elementos "Nombre", pero
deberás eliminar la segunda "plantilla".

Debe verse así:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plantilla [
<!ELEMENT plantilla (Nombre*)>
<!ELEMENT Nombre (#PCDATA)>
]>
<plantilla xmlns="plantilla">

<Nombre>Nombre</Nombre>
<Nombre>Otro nombre</Nombre>
<Nombre>Más nombres</Nombre>
<Nombre>Continuan los nombres</Nombre>

</plantilla>

Buen día =0)
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

RE:Duplicar Etiquetas en XML

Publicado por Ana (4 intervenciones) el 05/06/2007 13:17:14
Mukuykak muchas gracias again y no te desesperes x lok te voy a decir pero k aun asi no me va =( =(
creo que ya lo he probado todo!!! antes salia almenos un nombre, ahora ya ni eso. me sale el documento vacio =(
por mas vueltas que le doy y mas pruebas que hago no encuentro manera =(
sera que soy nulla para esto?????
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

RE:Duplicar Etiquetas en XML

Publicado por Mukuykak (59 intervenciones) el 06/06/2007 04:14:26
Saludos, Ana:

Si no te molesta que alguien ajeno a lo que desarrollas vea tu archivo. pásamelo por
mail y le echo un vistazo. Sólo el .xml con su dtd y el xsl que estás usando para dar
formato.

Buen día =0)
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

RE:Duplicar Etiquetas en XML

Publicado por Ana (4 intervenciones) el 13/06/2007 08:52:34
Te mande ayer un correo, si puedes echale un ojo ok??? gracias!!!
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