Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Select for xml explicit

Estas en el tema de Select for xml explicit en el foro de SQL Server en Foros del Web. Hola a todos, spy novato con sql más alla de lo que son sentencias sencillitas, en este caso necesito generar un fichero xml. usando "for ...
  #1 (permalink)  
Antiguo 29/04/2010, 09:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 6 meses
Puntos: 0
Select for xml explicit

Hola a todos,
spy novato con sql más alla de lo que son sentencias sencillitas, en este caso necesito generar un fichero xml. usando "for xml explicit"
La sentencia que he creado es esta:

SELECT 1 as Tag,
NULL as Parent,
NIF as [CUSTOMER!1!CustomerID!element],
CIF as [CUSTOMER!1!CustomerTaxID!element],
NOMBRE as [CUSTOMER!1!CompanyName!element],
CONTACTO as [CUSTOMER!1!Contact!element],
NULL as [Billingaddress!2!AddressDetail!element],
NULL as [Billingaddress!2!City!element],
NULL as [Billingaddress!2!PostalCode!element],
NULL as [Billingaddress!2!Region!element],
NULL as [Billingaddress!2!Country!element],
TELEFONO1 as [CUSTOMER!1!Telephone!element],
FAX as [CUSTOMER!1!Fax!element],
INTERNET as [CUSTOMER!1!Email!element]
FROM tablaclientes
UNION ALL
SELECT 2 as Tag,
1 as Parent,
NIF,
NULL,
NULL,
NULL,
DIRECCION,
LOCALIDAD,
PROVINCIA,
CPOSTAL,
PAIS,
NULL,
NULL,
NULL
FROM tablaclientes
ORDER BY [CUSTOMER!1!CustomerID!element]
FOR XML EXPLICIT


Obtengo estos datos, si os fijáis los datos de telefono, fax e internet en la sentencia están al final de la misma, pero en los resultados me sale inmediatamente antes de los elementos obtenidos en la segunda consulta, tal y como aparece a continuación


<CUSTOMER>
<CustomerID>102 </CustomerID>
<CustomerTaxID>5555555</CustomerTaxID>
<CompanyName>nombrecte</CompanyName>
<Contact> </Contact>
<Telephone>911111111</Telephone>
<Fax>911111111</Fax>
<Email> </Email>
<Billingaddress>
<AddressDetail>calle Entre Muros, 32 </AddressDetail>
<City>Madrid</City>
<PostalCode>28000</PostalCode>
<Region>madrid</Region>
<Country> </Country>
</Billingaddress>
</CUSTOMER>

Sabéis si es posible que el fichero generado sea con el orden adecuado?

Muchas gracias por vuestro interés de antemano y saludos
  #2 (permalink)  
Antiguo 29/04/2010, 09:32
 
Fecha de Ingreso: abril-2010
Ubicación: Mexico
Mensajes: 21
Antigüedad: 14 años
Puntos: 0
De acuerdo Respuesta: Select for xml explicit

creo que si todo perteneciera a un mismo nodo , estaría en el orden que lo quieres.
<CUSTOMER>
<Billingaddress>
..............
</Billingaddress>
</CUSTOMER>



nunca me ha pasado algo similar.
  #3 (permalink)  
Antiguo 29/04/2010, 09:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Select for xml explicit

Cita:
Iniciado por Elfermx Ver Mensaje
creo que si todo perteneciera a un mismo nodo , estaría en el orden que lo quieres.
<CUSTOMER>
<Billingaddress>
..............
</Billingaddress>
</CUSTOMER>



nunca me ha pasado algo similar.
Gracias por tu rapidez, Elfermx.

Cual sería a grosso modo según indicas el formato de la consulta?
Saludos

Etiquetas: select, xml
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 18:37.