Generar el XML de una tabla en SQL Server

1.- Primero creamos y accesamos a la BD:

CREATE DATABASE EJEMPLOXML2
USE EJEMPLOXML2

2.- Creamos nuetras respectivas tablas en este caso yo usare solo 2:

CREATE TABLE TABLA1(NUMERO NVARCHAR (10) PRIMARY KEY NOT NULL, NOMBRE NVARCHAR(20), AP_PAT NVARCHAR(20), AP_MAT NVARCHAR(20))
CREATE TABLE TABLA2(NUMERO2 NVARCHAR (10) PRIMARY KEY NOT NULL, NOMBRE2 NVARCHAR(20), AP_PAT2 NVARCHAR(20), AP_MAT2 NVARCHAR(20))

3.- Insertamos unos cuantos registros en las tablas.

4.- Con la siguiente instruccion generamos atumaticamente el XML de la tabla:

SELECT *FROM TABLA1 FOR XML AUTO

Como vemos, no tenemos un nodo raíz, en este caso se usa como nodo el nombre de la tabla y como atributos los campos de dicha tabla, el resultado seria el siguiente.
xml

Con la siguiente instruccion lo que hacemos es poner un espacio de nombre.
WITH XMLNAMESPACES (DEFAULT ‘https://linuxwall32.wordpress.com/’)

Con SELECT TOP elegimos el numero maximo de registros que queremos visualizar.

NOMBRE, AP_PAT, AP_MAT FROM son los campos de nuestra tabla que se visualizaran en el subnodo item, por ultimo generamos el XML y ponemos como nodo raíz TABLA1

Quedandonos el codigo completo así:
WITH XMLNAMESPACES (DEFAULT ‘https://linuxwall32.wordpress.com/’)
SELECT TOP 5 NUMERO, NOMBRE, AP_PAT, AP_MAT FROM TABLA1 as item FOR XML AUTO, ROOT (‘TABLA1’), ELEMENTS

El resultado seria el siguiente:
xml2

4 respuestas a “Generar el XML de una tabla en SQL Server

  1. Pingback: Generar el XML de una tabla en SQL Server - DbRunas

  2. Pregunta primiciosa, como haria para que automaticame despues de generar el xml me lo guarde en una ubicacion con un nombre que yo le asigne?¿?¿?

Replica a wall32 Cancelar la respuesta