Principales respuestas
XML + Datos de tabla

Pregunta
-
Estimados.
Tengo un XML con datos que debo llenar, ejemplo:
<?xml version=" 1.0 " encoding=" UTF-8 " standalone= " yes "?>
<ficha>
<nombre> </nombre>
<apellido> </apellido>
<direccion> </direccion>
</ficha>Tengo en un SQL 2012 una tabla que contiene 100 clientes que en este caso contiene los campos necesarios.
Necesito llenar/crear el XML con la estructura original y con los datos nombre,apellido y direccion de los 100 clientes.
Saludos Cordiales.
CristianPM
DBA SQL Server Santiago/Chile
martes, 30 de junio de 2015 18:39
Respuestas
-
[...] Pues actualmente me los muestra asi: [...]
Tienes razón, hay que usar un XML PATH en lugar de XML RAW (como ya te han indicado en otra respuesta)No se nada de XML que opciones tengo para mostrar los 100 clientes
Las opciones más típicas serían en primer lugar esta:
<Clientes> <Cliente> <Nombre>...</Nombre> <Apellido>...</Apellido> etc </Cliente> <Cliente> <Nombre>...</Nombre> <Apellido>...</Apellido> etc </Cliente> ... </Clientes>
Y en segundo lugar esta otra:
<Clientes> <Cliente Nombre='...' Apellido='...' etc /> <Cliente Nombre='...' Apellido='...' etc /> <Cliente Nombre='...' Apellido='...' etc /> ... </Clientes>
- Propuesto como respuesta Miguel Egea GómezMVP, Moderator miércoles, 1 de julio de 2015 8:41
- Marcado como respuesta Karen MalagónModerator miércoles, 1 de julio de 2015 21:55
martes, 30 de junio de 2015 20:52
Todas las respuestas
-
Puesto que la pregunta está en el foro de SQL Server, presumo que el XML lo quieres generar desde el lado servidor, y no desde código cliente. En ese caso, puedes generar el XML indicado con una sentencia de este estilo:
Select nombre, apellido, direccion from laTabla for XML RAW('Ficha'), ROOT('Fichas')
Nótese que te he añadido un nodo raíz, ya que en el ejemplo que pusiste sólo había un cliente y no indicaste cómo querías agrupar los 100 clientes que hay en la tabla.
martes, 30 de junio de 2015 18:56 -
Estimado Alberto.
Muchas gracias por responder, y si, la idea es generarlo al lado del servidor.
No se nada de XML que opciones tengo para mostrar los 100 clientes ?
DBA SQL Server Santiago/Chile
martes, 30 de junio de 2015 19:07 -
Es posible mostrarlos asi ?:
<ficha>
<nombre> </nombre>
<apellido> </apellido>
<direccion> </direccion>
</ficha>Pues actualmente me los muestra si:
<Fichas>
<Ficha nombre="Cristian" apellido="espindola" direccion="alguna direccion" /><Ficha nombre="Jose" apellido="espinoza" direccion="alguna direccion" />
</Fichas>
DBA SQL Server Santiago/Chile
martes, 30 de junio de 2015 19:12 -
Que tal, podrías probar de esta manera:
SELECT nombre, apellido, direccion FROM TuTabla FOR XML PATH ('Ficha'), ROOT ('Fichas')
Saludos,Ayacucho - Perú
Recuerda si mi solución atiende tu consulta por favor márcala como útil y como respuesta.
http://litigiouslobo.blogspot.com/
El Blog de Herbert Mendozamartes, 30 de junio de 2015 19:30 -
[...] Pues actualmente me los muestra asi: [...]
Tienes razón, hay que usar un XML PATH en lugar de XML RAW (como ya te han indicado en otra respuesta)No se nada de XML que opciones tengo para mostrar los 100 clientes
Las opciones más típicas serían en primer lugar esta:
<Clientes> <Cliente> <Nombre>...</Nombre> <Apellido>...</Apellido> etc </Cliente> <Cliente> <Nombre>...</Nombre> <Apellido>...</Apellido> etc </Cliente> ... </Clientes>
Y en segundo lugar esta otra:
<Clientes> <Cliente Nombre='...' Apellido='...' etc /> <Cliente Nombre='...' Apellido='...' etc /> <Cliente Nombre='...' Apellido='...' etc /> ... </Clientes>
- Propuesto como respuesta Miguel Egea GómezMVP, Moderator miércoles, 1 de julio de 2015 8:41
- Marcado como respuesta Karen MalagónModerator miércoles, 1 de julio de 2015 21:55
martes, 30 de junio de 2015 20:52